Contoh
Program Menghitung Nilai Akhir Mahasiswa
Disini saya
akan berbagi contoh program untuk menghitung nilai akhir mahasiswa yang terdiri
dari data mahasiswa, mata kuliah, dan dosen. Pada program ini saya menggunakan
beberapa metode dalam c++ seperti array,percabangan(if),pemilihan(switch),perulangan(for),struct
dan sortir(bubble sort). Sebelumnya saya akan menjelaskan dengan singkat apa
pengertian dari metode yang saya pakai.
PERCABANGAN
(IF)
Perintah IF
berguna untuk memilih dua atau lebih alternative jawaban yang tersedia. Jika
perintah IF tersebut terdiri dari dua atau lebih pernyataan, maka pernyataan
tersebut harus berada di antara behind dan end. Pada perintah IF juga dapat
pula diikuti oleh pernyataan majemuk.
Pada perintah IF terdapat 3
bentuk umum :
a.) Perintah
IF … ELSE
If (kondisi)
{
Pernyataan
1
}
Else
{
Pernyataan
2
}
b.) Perintah
IF dalam IF
If
(kondisi1) {
If (kondisi2){
Pernyataan 1;
Else{
Pernyataan 2;
}
Else
{
Pernyataan
3
}
c.) Perintah
IF Bertingkat
If
(kondisi1){
Pernyataan
1;
}
Else
if (kondisi2){
Pernyataan
2;
}
Else{
Pernyataan
3;
}
Berikut contoh potongan script percabangan dari program yang saya buat :
Untuk
bentuk umum IF bertingkat seperti gambar ada di bawah ini :
Berikut contoh potongan script percabangan dari program yang saya buat :
Gambar di atas
menggunakan bentuk umum IF…Else dan IF dalam IF. Jika nilai melebihi angka 100,
maka otomatis nilai pada variable yang ditentukan akan menjadi nilai
tertingginya, namun jika tidak maka variable akan melakukan perhitungan melalui
rumus yang sudah ditetapkan. Contohnya seperti variable “N_UAS”.
Nah, secara
umum gambaran mengenai percabangan IF seperti 2 script di atas.Namun, terdapat
percabangan lainnya sebagai alternative dari IF yang cukup simple terutama
sebagai alternative dari IF bertingkat. Perintah itu disebut sebagai SWITCH.
PERCABANGAN
(SWITCH)
Perintah
SWITCH merupakan pernyataan yang dirancang untuk menangani pengambilan
keputusan yang melibatkan sejumlah pilihan alternative yang diantaranya untuk
menggantikan pernyataan IF bertingkat.
Bentuk umum dari switch sebagi
berikut :
SWITCH (ekspresi) {
Case
konstanta1 :
Pernyataan 1;
Break;
Default :
Pernyataan
n; }
Jadi,
konsep dari perintah SWITCH ini hampir sama dengan perintah IF. Hanya saja pada
SWITCH menggunakan konstanta untuk menjalankan pernyataan 1 dan command default
yang berfungsi sama seperti Else pada percabangan IF. Pada script diatas saya
menggunakan kode_kelas sebagai ekspresi pada SWITCH, lalu menggunakan angka
“106” sebagai konstantanya. Jadi, ketika user memasukkan angka “106” maka
output yang akan ditampilkan adalah variable “kelas” yang berisi “03TPLE006”.
Namun, jika menginput nilai
selain “106” makan perintah default akan dijalankan. Oh iya, untuk konstantanya
tersebut tidak harus 106, itu tergantung kalian yang buat program ingin diisi
angka berapa.
PERULANGAN (for)
Perintah pengulangan digunakan
untuk melakukan suatu proses berulang-ulang, jika suatu kondisi dipenuhi atau
sebaliknya. Biasanya perulangan digunakan untuk mengulang proses pemasukan data
dan mengulang proses penampilan hasil pengolahan pada data. Perulangan pada for
ini merupakan salah satu perintah pengulangan yang umum dipakai, sebagai
berikut :
FOR
(ungkapan1;keadaan;ungkapan3) {
Pernyataan;
}
Bentuk di atas memiliki arti :
1.
Ungkapan1 adalah inisialisasi terhadap variable
pengendali looping.
2. Keadaan adalah kondisi untuk keluar dari
looping.
3. Ungkapan3 adalah pengaturan kenaikan atau
penurunan nilai variable pengendali looping.
Pada
script yang saya buat, saya menggunakan variable “z” sebagai ungkapan1-nya
dengan menginisialisasi z bernilai 1. Untuk keadaan pada script di atas, saya
menggunakan variable x sebagai keadaan untuk keluar dari looping yang dimana x
itu adalah jumlah mahasiswa yang akan di input. Jika yang di input <=5 maka
akan mengarah ke bagian “inputan:”, namun jika di atas 5 maka akan mengarah
kembali ke bagian “awal:”
ARRAY
Array merupakan koleksi data
dimana setiap elemen memakai nama dan tipe yang sama serta setiap elemen
diakses dengan membedakan indeks array-nya. Array memiliki 3 jenis, yaitu :
a.) Array
Dimensi Satu
b.) Array
Dimensi Dua
c.) Array
Dimensi Banyak
Di script yang saya buat ini
menggunakan array dimensi satu yang berbentuk :
Tipe
nama_variabel [ukuran array];
Biasanya array
digunakan bersamaan dengan for. Pada script di atas, saya menggunakan array 1
dimensi bersamaan dengan perintah for dan menginisialisasi “z” sebagai angka 1,
karena saya akan memulai indeks array tersebut dari angka 1. Array akan
menyimpan data yang dimasukkan kedalam tiap variable di indeks 1 dan indeks
seterusnya sampai perulangan selesai.
Jadi ketika
pada hasil output, indeks array akan dipanggil dengan menggunakan fungsi for
dan menampilkan data sesuai peyimpanan yang sudah dimasukkan pada tiap indeks.
STRUCT
Structure
adalah sekumpulan variable yang masing-masing tipe datanya berbeda dan
dikelompokan kedalam satu nama. Struktur membiarkan sekelompok variable
diperlakukan sebagai satu unit.
Struktur memiliki bentuk umum
sebagai berikut :
Struct
mahasiswa {
Int
Tugas,N_Tugas,UTS,N_UTS,UAS,N_UAS,N_akhir,absen;
Float
N_absen;
String
grade;
Long
int nim;
Char
nama;
};
Berdasarkan
script di atas, untuk nilai dan data mahasiswa dijadikan satu dalam struct yang
bernama “Data” dan dideklarasikan dengan
huruf “f”. untuk pemberian nama variable pada struct Data dapat dilakukan
setelah akhir kurung kurawal pada struct dan diakhiri dengan titik koma atau
dilakukan di dalam tubuh programnya, seperti script di bawah ini.
SORTING
(BUBBLE SORT)
Bubble sort
adalah suatu metode pengurutan yang membandingkan elemen yang sekarang dengan
elemen berikutnya. Pembandingan alamatnya dapat dimulai dari data yang paling
awal atau yang paling akhir. Apabila elemen yang sekarang(sebelumnya) lebih
besar dari elemen berikutnya, maka posisi ditukar, kalau tidak posisinya tetap
atau tidak bertukar.
Script di atas merupakan
pengurutan bubble sort secara ascending dengan mengurutkan nama mahasiswa.
Perulangan pada bubble sort ini menggunakan fungsi for dan if juga untuk
memindahkan data yang sudah terisi ke data sementara. Biasanya data
sementaranya itu bernama/bervariabel “temp”. pada perulangan ke-2, m diisi
dengan nilai 1 karena pada array dimulai dari indeks 1.
Sebelumnya,
strcmp yang ada pada kondisi di fungsi IF adalah Untuk pengurutan nama
mahasiswa menggunakan fungsi IF, kondisi dimana nilai ASCII pada nama mahasiswa
lebih besar dari 0 maka akan dilakukan pertukaran nama mahasiswa ( diurutkan
dari huruf terkecil ke besar ). Dan untuk strcpy merupakan fungsi yang
digunakan untuk menyalin string asal ke variable string tujuan.
Strcpy
(variable tujuan, variable asal);
Script
di atas merupakan pengurutan bubble sort secara descending dengan mengurutkan berdasarkan
nilai akhir mahasiswa. Konsepnya sama seperti bubble sort ascending yang sudah
dibahas di atas, namun disini menggunakan kondisi IF yang dimana ketika nilai
akhir indeks 1 lebih kecil dari nilai akhir indeks berikutnya, maka akan dilakukan
penukaran data pada array. Untuk merubahnya menjadi ascending, cukup mengganti
operasi kurang dari “<” menjadi lebih dari “>” yang ada di dalam kondisi
IF.
Dikarenakan
ingin di urutkan berdasar nilai akhir, maka untuk output yang lainnya dilakukan
penukaran data juga agar output/variable yang lain selaras dengan kondisi yang
diurutkan. Jadi kayak ngelink gitu, kalo di sortir satu maka yang lainnya juga
ngikut.
Demikian
beberapa penjelasan singkat dari saya mengenai fungsi-fungsi yang saya pakai pada
program/script yang saya buat untuk menghitung nilai akhir mahasiswa. Mohon
maaf jika terdapat salah penulisan atau penjelasan yang keliru. Berikut saya
tampilkan script penuh dari program menghitung nilai akhir mahasiswa yang saya
buat.Terima kasih sudah membaca blog ini.