Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Laporan 4
1. LAPORAN PRAKTIKUM
DASAR PEMROGRAMAN KOMPUTER
MODUL 4
OPERATOR KONDISI
Oleh :
Yusi Nur Aisyah
130533608107
S1 PTI 2013 Offering F
FAKULTAS TEKNIK
JURUSAN ELEKTRO
PRODI S1 PENDIDIKAN TEKNIK INFORMATIKA
UNIVERSITAS NEGERI MALANG
SEPTEMBER 2013
2. A. TUJUAN
1. Menjelaskan tentang fungsi operasi kondisi
2. Menjelaskan tentang fungsi if, if else, nested if, if else majemuk, switch case,
B. LATIHAN
1. Lab. 1
Sebuah toko dengan nama ”HALAL MAKMUR JAYA”, dalam melayani pembeli
mempunyai ketentuan dalam memberikan potongan harga. Dimana besarnya potongan harga
dari pembelian barang adalah sebagai berikut:
1) Tidak ada potongan jika total pembelian kurang dari Rp.50.000
2) Jika total pembelian lebih dari atau sama dengan Rp.50.000 potongan yang diterima
sebesar 20% dari total pembelian.
3) Konsumen ingin anda membuatkan program dengan mencantumkan juga label toko,
nama kasir dan pembeli.
Buat flowchart dan program untuk menyelesaikan masalah di atas?
Syntax
/*
Nama : Yusi Nur Aisyah
NIM : 130533608107
Prodi/Offering : S1 PTI 2013 / Offering F
Algoritma :
1. Mulai
2. Mendeklarasikan header file
3. Mendeklarasikan fungsi utama program
4. Mendeklarasikan variabel
5. Memasukkan nama kasir dan menampilkannya
6. Memasukkan nama pembeli dan menampilkannya
7. Memasukkan total pembelian dan menampilkannya
8. Mengkondisikan jika total pembelian kurang dari 50000
pembeli tidak mendapatkan diskon
9. Mengkondisikan jika total pembelian lebih dari atau sama
dengan 50000 pembeli mendapatkan diskon 20%
10.Menampilkan total pembayaran yang dilakukan pembeli
11.Memberikan keluaran berupa kembalian kepada pembeli
12.Selesai
*/
#include <stdio.h> //header untuk printf dan scanf
#include <iostream.h> //header untuk cout dan cin
void main(void) //deklarasi fungsi utama
{
/*Deklarasi variabel*/
int total_pembelian;
int harga, bayar;
char k[20];
int kembalian;
char p[20];
/*Judul / Label Toko*/
printf("t=======================================n");
printf("t| TOKO HALAL MAKMUR JAYA |n");
printf("t| Jl. LETJEN SUTOYO No. 10 |n");
3. printf("t=======================================nnn");
/*Input data dari user*/
printf("Nama Kasirt: ");
scanf("%s", &k);
printf("Nama Pembelit: ");
scanf("%s", &p);
printf("------------------------------------------n");
printf("nTotal Pembeliant: Rp ");
scanf("%i", &total_pembelian);
if (total_pembelian < 50000) //kondisi untuk total pembelian
kurang dari 50000
{
harga= total_pembelian;
printf("nTotal Hargat: Rp %in", harga);
}
else
if (total_pembelian >= 50000) //kondisi untuk total pembelian
lebih dari atau sama dengan 50000
{
harga= total_pembelian * 0.80;
printf("nTotal Hargat: Rp %in", harga);
}
cout << "Bayar : Rp ";
cin >> bayar;
cout << "_________________________________________-n";
kembalian=bayar-harga;
cout << "Kembaliant: Rp "<<kembalian<<"n";
cout << endl;
cout << "__________________________________________n";
cout << endl;
cout << "TERIMA KASIH TELAH BERBELANJA DISINI : "<<p<<"n";
cout<<"Barang yang sudah dibeli tidak dapat
dikembalikan"<<endl;
cout << endl;
}
4. Hasil Program
A. Hasil jika total pembelian > 50000
B. Hasil jika total pembelian < 50000
C. Hasil jika total pembelian = 50000
5. Deskripsi Program
Program kasir sederhana ini menggunakan input yang bervariabelkan “k” untuk
nama kasir, “p” untuk nama pembeli, “total_pembelian” untuk total dari pembelian
oleh pembeli, dan “bayar” untuk jumlah uang yang dibayarkan oleh pembeli.
Untuk variabel “k” dan “p” berjenis tipe data string. Dan variabel
“total_pembelian” berjenis tipe data integer karena berupa bilangan bulat. Pada
variabel “k” dan “p” kita memberikan array agar menentukan berapa banyak
karakter yang diinputkan pada program. Karakter yang diinputkan tidak boleh
melebihi batas array yang diberikan.
User atau kasir harus menginputkan nama kasir yang sedang bertugas lalu nama
pembeli. Setelah itu memasukkan total pembelian. Disini terdapat dua kondisi
menggunakan percabangan IF. Pertama, jika total pembelian kurang dari Rp.
50.000 maka pembeli tidak mendapatkan diskon. Dan yang kedua adalah jika total
pembelian lebih dari atau sama dengan Rp. 50.000 maka pembeli mendapatkan
diskon sebesar 20%. Apabila kondisi pertama terpenuhi maka program akan
langsung mencetak hasilnya. Tapi jika tidak maka akan dipenuhi oleh kondisi
kedua dan langsung mencetak hasilnya. Kalau pada kondisi kedua juga tidak terpenuhi
maka program akan secara default mencetak hasil dari kondisi terakhir.
Kemudian user menginputkan jumlah pembayaran. Jika uang melebihi jumlah
pembelian maka pembeli berhak mendapatkan uang kembalian. Jika uang pas,
maka tidak mendapatkan kembali. Dan mencetak hasilnya.
7. 2. Lab 2
Sebuah toko dengan nama ”GEMA INSANI ”, dalam melayani pembeli, mempunyai
ketentuan dalam memberikan potongan harga. Dimana besarnya potongan harga dari
pembelian barang adalah sebagai berikut:
1) Jika total pembelian barang kurang dari Rp.50.000, maka potongan yang diterima
sebesar 5% dari total pembelian.
2) Jika total pembelian barang lebih atau sama dengan Rp.50.000 potongan yang
diterima sebesar 20% dari total pembelian.
3) Konsumen ingin anda membuatkan program dengan mencantumkan juga label
toko, nama kasir dan pembeli.
Buat flowchart dan program untuk menyelesaikan masalah di atas?
Syntax
/*
Nama : Yusi Nur Aisyah
NIM : 130533608107
Prodi/Offering : S1 PTI 2013 / Offering F
Algoritma :
1. Mulai
2. Mendeklarasikan header file
3. Mendeklarasikan fungsi utama program
4. Mendeklarasikan variabel
5. Memasukkan nama kasir dan menampilkannya
6. Memasukkan nama pembeli dan menampilkannya
7. Memasukkan total pembelian dan menampilkannya
8. Mengkondisikan jika total pembelian kurang dari 50000
pembeli mendapatkan diskon 5% dari total pembelian
9. Mengkondisikan jika total pembelian lebih dari atau sama
dengan 50000 pembeli mendapatkan diskon 20% dari total
pembelian
10.Menampilkan total pembayaran yang dilakukan pembeli
11.Memberikan keluaran berupa kembalian kepada pembeli
12.Selesai
*/
#include <stdio.h> //header untuk printf dan scanf
#include <iostream.h> //header untuk cout dan cin
void main(void) //deklarasi fungsi utama
{
/*Deklarasi variabel*/
int total_pembelian;
int harga, bayar;
char k[20];
int kembalian;
char p[20];
/*Judul / Label Toko*/
printf("t=======================================n");
printf("t| TOKO GEMA INSANI
|n");
8. printf("t| Jl. MAWAR MELATI No. 7 |n");
printf("t=======================================nnn");
/*Input data dari user*/
printf("Nama Kasirt: ");
scanf("%s", &k);
printf("Nama Pembelit: ");
scanf("%s", &p);
printf("------------------------------------------n");
printf("nTotal Pembeliant: Rp ");
scanf("%i", &total_pembelian);
if (total_pembelian < 50000) //kondisi untuk total
pembelian kurang dari 50000
{
harga= total_pembelian * 0.95;
printf("nTotal Hargat: Rp %in", harga);
}
else
if (total_pembelian >= 50000) //kondisi untuk total pembelian
lebih dari atau sama dengan 50000
{
harga= total_pembelian * 0.80;
printf("nTotal Hargat: Rp %in", harga);
}
cout << "Bayar : Rp ";
cin >> bayar;
cout << "_________________________________________-n";
kembalian=bayar-harga;
cout << "Kembaliant: Rp "<<kembalian<<"n";
cout << endl;
cout << "__________________________________________n";
cout << endl;
cout << "TERIMA KASIH TELAH BERBELANJA DISINI : "<<p<<"n";
cout<<"Barang yang sudah dibeli tidak dapat
dikembalikan"<<endl;
cout << endl;
}
9. Hasil Program
A. Hasil program jika total pembelian < 50000
B. Hasil program jika total pembelian > 50000
C. Hasil program jika total pembelian = 50000
10. Deskripsi Program
Program kasir sederhana ini menggunakan input yang bervariabelkan “k” untuk
nama kasir, “p” untuk nama pembeli, “total_pembelian” untuk total dari pembelian
oleh pembeli, dan “bayar” untuk jumlah uang yang dibayarkan oleh pembeli. Untuk
variabel “k” dan “p” berjenis tipe data string. Dan variabel “total_pembelian”
berjenis tipe data integer karena berupa bilangan bulat. Pada variabel “k” dan “p”
kita memberikan array agar menentukan berapa banyak karakter yang diinputkan
pada program. Karakter yang diinputkan tidak boleh melebihi batas array yang
diberikan.
User atau kasir harus menginputkan nama kasir yang sedang bertugas lalu nama
pembeli. Setelah itu memasukkan total pembelian. Disini terdapat dua kondisi
menggunakan percabangan IF-ELSE. Pertama, jika total pembelian kurang dari
Rp. 50.000 maka pembeli mendapatkan diskon sebesar 5% dari total pembelian.
Yang kedua adalah jika total pembelian lebih dari atau sama dengan Rp. 50.000
maka pembeli mendapatkan diskon sebesar 20%. Apabila kondisi pertama
terpenuhi maka program akan langsung mencetak hasilnya. Tapi jika tidak maka
akan dipenuhi oleh kondisi kedua dan langsung mencetak hasilnya. Kalau pada
kondisi kedua belum juga terpenuhi maka program akan secara default mencetak hasil
dari kondisi terakhir.
Kemudian user menginputkan jumlah pembayaran. Jika uang melebihi jumlah
pembelian maka pembeli berhak mendapatkan uang kembalian. Jika uang pas,
maka tidak mendapatkan kembali. Dan mencetak hasilnya.
12. 3. Lab 3
Suatu Perusahaan dengan nama ”SEJAHTERA HALAL SENTOSA” memberikan
komisi kepada para salesmannya dengan ketentuan sebagai berikut:
1) Bila salesman dapat menjual barang hingga Rp.20.000, maka akan diberikan uang
jasa sebesar Rp.10.000. ditambah dengan komisi Rp. 10% dari pendapatan yang
diperoleh hari itu.
2) Bila salesman dapat menjual barang diatas Rp.20.000, maka akan diberikan uang
jasa sebesar Rp.20.000, ditambah dengan uang komisi Rp.15% dari pendapatan
yang diperoleh pada hari itu.
3) Bila salesman dapat menjual barang diatas Rp.50.000, maka akan diberikan uang
jasa sebesar Rp.30.000, ditambah dengan uang komisi Rp.20% dari pendapatan
yang diperoleh pada hari itu.
4) Perusahaan itu ingin anda membuatkan program dengan mencantumkan juga label
nama perusahaan, nama kasir dan salesman.
Buat flowchart dan program untuk menyelesaikan masalah di atas?
Syntax
/*
Nama : Yusi Nur Aisyah
NIM : 130533608107
Prodi/Offering : S1 PTI 2013 / Offering F
Algoritma :
1. Mulai
2. Mendeklarasikan header file
3. Mendeklarasikan fungsi utama program
4. Mendeklarasikan variabel
5. Memasukkan nama kasir dan menampilkannya
6. Memasukkan nama pembeli dan menampilkannya
7. Memasukkan total pembelian dan menampilkannya
8. Mengkondisikan jika total penjualan hingga Rp. 20000 maka
salesman mendapatkan bonus 10% dari penjualannya
9. Mengkondisikan jika total penjualan lebih dari Rp. 20000
maka salesman mendapatkan bonus 15% dari penjualannya
10.Mengkondisikan jika total penjualan lebih dari Rp. 50000
maka salesman mendapatkan bonus 20% dari penjualannya
11.Menampilkan total pendapatan yang diperoleh oleh salesman
12.Selesai
*/
#include <stdio.h> //header file untuk printf dan scanf
#include <iostream.h> //header file untuk cout dan cin
void main() //deklarasi fungsi utama
{
/*deklarasi variabel*/
int jasa, komisi, barang, total;
char kasir[15], sales[15];
/*Judul / Label Toko*/
printf("t=======================================n");
13. printf("t| TOKO HALAL MAKMUR JAYA |n");
printf("t| Jl. LETJEN SUTOYO No. 10 |n");
printf("t=======================================nnn");
/*Input data dari user*/
printf("tNama Kasirtt : ");
scanf("%s", &kasir);
printf("tNama Salesmantt : ");
scanf("%s", &sales);
printf("tBarang yang dijual sebesar : Rp. ");
scanf("%i", &barang);
printf("t=================================================t
nn");
/*Beberapa kondisi hasil penjualan salesman*/
if (barang<=20000) //kondisi jika salesman menjual barang
hingga Rp. 20000
{ jasa=10000;
komisi=0.1*barang;
total=jasa+komisi;
cout<<"t TOKO HALAL MAKMUR JAYA tn";
cout<<"t Halo "<<sales<<" tn";
cout<<"t Penjualan Anda hari ini = Rp. "<<barang<<"
tnn";
cout<<"t==============================================tn";
cout<<"t SELAMAT !! tn";
cout<<"tAnda mendapat uang jasa sebesar = Rp. "<<jasa<<"
tn";
cout<<"t Komisi 10%tt= Rp. "<<komisi<<" tn";
cout<<"t Totaltt= Rp. "<<total<<" tn";
cout
<<"t________________________________________________+n";
cout<<"t Nama Salestt= "<<sales<<" tn";
cout<<"t Nama Kasirtt= "<<kasir<<" tn";
cout<<"t==============================================tn";}
else if ((barang>20000)&&(barang<50000)) //kondisi jika
salesman menjual barang lebih dari Rp. 20000 AND kurang dari
Rp. 50000
/*Menggunakan operator logika AND jika salah satu pernyataan
salah akan menuju ke kondisi selanjutnya*/
{ jasa=20000;
komisi=0.15*barang;
total=jasa+komisi;
cout<<"t TOKO HALAL MAKMUR JAYA tn";
cout<<"t Halo "<<sales<<" tn";
cout<<"t Penjualan Anda hari ini = Rp. "<<barang<<"
tnn";
cout<<"t==============================================tn";
cout<<"t SELAMAT !! tn";
14. cout<<"tAnda mendapat uang jasa sebesar = Rp. "<<jasa<<"
tn";
cout<<"t Komisi 15%tt= Rp. "<<komisi<<" tn";
cout<<"t Totaltt= Rp. "<<total<<" tn";
cout
<<"t________________________________________________+n";
cout<<"t Nama Salestt= "<<sales<<" tn";
cout<<"t Nama Kasirtt= "<<kasir<<" tn";
cout<<"t===============================================tn";
}
else //kondisi akibat pada kondisi kedua tidak terpenuhi yaitu
kondisi total penjualan lebih dari Rp. 50000
{ jasa=30000;
komisi=0.2*barang;
total=jasa+komisi;
cout<<"t TOKO HALAL MAKMUR JAYA tn";
cout<<"t Halo "<<sales<<" tn";
cout<<"t Penjualan Anda hari ini = Rp.
"<<barang<<" tnn";
cout<<"t================================================tn"
;
cout<<"t SELAMAT !! tn";
cout<<"tAnda mendapat uang jasa sebesar = Rp. "<<jasa<<"
tn";
cout<<"t Komisi 20%tt= Rp. "<<komisi<<" tn";
cout<<"t Totaltt= Rp. "<<total<<" tn";
cout
<<"t________________________________________________+n";
cout<<"t Nama Salestt= "<<sales<<" tn";
cout<<"t Nama Kasirtt= "<<kasir<<" tn";
cout<<"t================================================tn"
;}
cout << endl;
cout << "tTERIMA KASIH ATAS PENJUALANNYA : "<<sales<<"n";
/*menampilkan TERIMA KASIH ATAS PENJUALANNYA dan nama sales
yang telah diinputkan*/
cout << endl;
}
15. Hasil Program
A. Hasil program jika total penjualan mencapai Rp. 20.000
B. Hasil program jika total penjualan lebih dari Rp. 20.000
C. Hasil program jika total penjualan lebih dari Rp. 50.000
16. Deskripsi Program
Program kasir sederhana ini menggunakan input yang bervariabelkan “kasir” untuk nama
kasir, “sales” untuk nama salesman, dan “barang” untuk jumlahl dari penjualan oleh
salesman. Untuk variabel “kasir” dan “sales” berjenis tipe data string. Dan variabel
“barang” berjenis tipe data integer karena berupa bilangan bulat. Pada variabel “kasir”
dan “sales” kita memberikan array agar menentukan berapa banyak karakter yang
diinputkan pada program. Karakter yang diinputkan tidak boleh melebihi batas array yang
diberikan.
User atau kasir harus menginputkan nama kasir yang sedang bertugas lalu nama
salesman. Setelah itu memasukkan barang yang dijual oleh salesman. Disini terdapat dua
kondisi menggunakan percabangan NESTED-IF.
1) Pertama, jika jumlah barang yang dijual mencapai Rp. 20.000, maka salaesman
mendapatkan uang jasa sebesar Rp. 10.000. Kemudian ditambah dengan komisi 10%
dari pendapatan atau jumlah barang yang sudah ia jual. Apabila kondisi pertama ini
terpenuhi maka program akan langsung mencetak hasilnya. Tapi jika tidak maka akan
dipenuhi oleh kondisi kedua.
2) Kedua, program memberikan dua kondisi lagi yaitu jika barang yang dijual lebih dari
Rp. 20.000 dan jika barang yang dijual lebih dari Rp. 50.000. Kedua kondisi itu
dioperasikan oleh operator logika AND. Jika kondisi pertama terpenuhi (jika jumlah
barang yang dijual lebih dari Rp. 20.000), maka salaesman mendapatkan uang jasa
sebesar Rp. 20.000. Kemudian ditambah dengan komisi 15% dari pendapatan atau
jumlah barang yang sudah ia jual. Apabila kondisi kedua ini terpenuhi maka program
akan langsung mencetak hasilnya. Tapi jika tidak maka akan dipenuhi oleh kondisi
selanjutnya.
Yang terakhir, sebagai akibat tidak terpenuhinya kondisi pertama (>20000) yaitu
menuju ke kondisi jika jumlah yang dijual lebih dari Rp. 50.000, maka salaesman
mendapatkan uang jasa sebesar Rp. 30.000. Kemudian ditambah dengan komisi 20%
dari pendapatan atau jumlah barang yang sudah ia jual. Ini merupakan kondisi
terakhir. Jika tidak terpenuhi maka program akan secara default mencetak hasil dari
kondisi terakhir.
Kemudian program akan mencetak komisi dan total pendapatan (setelah uang jasa
ditambah dengan komisi). Program selesai dijalankan.
18. 4. Lab 4
Buatlah program untuk membantu seorang dosen Teknik Elektro UM dalam
menentukan nilai akhir mahasiswa.Ketentuan yang harus dilakukan adalah sebagai
berikut :
a. Ketentuan pengambilan nilai :
1) Nilai Murni Keaktifan = nilai keatifan dikalikan 20 %
2) Nilai Murni Tugas = nilai tugas dikalikan 30%
3) Nilai Murni Ujian = nilai ujian dikalikan 50%
4) Nilai Akhir = Nilai Murni Ujian + Nilai Murni Tugas + Nilai Murni Keaktifan.
b. Melakukan konversi Nilai angka ke nilai Huruf dengan ketentuan sebagai berikut :
1) 0 – 44 nilai = E
2) 45- 55 nilai = D
3) 56- 65 nilai = C
4) 66- 75 nilai = B-
5) 76-85 nilai = B
6) 86- 90 nilai = A-
7) 91-100 nilai = A
c. Melakukan penguatan kepada mahasiswa dengan ketentuan sebagai berikut :
o Antara 0 s/d 55 tampilkan pernyataan “Anda tidak lulus, tingkatkan belajar
anda”
o Antara 56 s/d 65 tampilkan pernyataan “Anda lulus, tingkatkan prestasimu”
o Antara 66 s/d 85 tampilkan pernyataan “Anda lulus dengan baik, pertahankan
prestasimu”
o Antara 86 s/d 100 tampilkan pernyataan “Anda lulus, EXCELLENT”
Syntax
/*
Nama : Yusi Nur Aisyah
NIM : 130533608107
Prodi/Offering : S1 PTI 2013 / Offering F
Algoritma :
1. Mulai
2. Mendeklarasikan header file
3. Mendeklarasikan fungsi utama program
4. Mendeklarasikan variabel
5. Memasukkan nama mahasiswa dan menampilkannya
6. Memasukkan NIM dan menampilkannya
7. Memasukkan nilai murni keaktifan dan menampilkannya
8. Memasukkan nilai murni tugas dan menampilkannya
9. Memasukkan nilai murni ujian dan menampilkannya
10.Memproses nilai akhir dengan memanfaatkan nilai murni
keaktifan, nilai murni tugas dan nilai murni ujian, lalu
menampilkannya
11.Mengkondisikan predikat yang diberikan :
- Jika nilai akhir berkisar antara 0 - 44 maka
predikatnya adalah E dan "Anda Tidak Lulus, tingkatkan belajar
anda"
19. - Jika nilai akhir berkisar antara 45 - 55 maka
predikatnya adalah D dan "Anda Tidak Lulus, tingkatkan belajar
anda"
- Jika nilai akhir berkisar antara 56 - 65 maka
predikatnya adalah C dan "Anda Lulus, tingkatkan prestasimu"
- Jika nilai akhir berkisar antara 66 - 75 maka
predikatnya adalah B- dan "Anda Lulus dengan Baik, tingkatkan
prestasimu"
- Jika nilai akhir berkisar antara 76 - 85 maka
predikatnya adalah B dan "Anda Lulus dengan Baik, tingkatkan
prestasimu"
- Jika nilai akhir berkisar antara 86 - 90 maka
predikatnya adalah A- dan "Anda Lulus, EXCELLENT"
- Jika nilai akhir berkisar antara 91 - 100 maka
predikatnya adalah A dan "Anda Lulus, EXCELLENT"
12.Mendelay hasil pengkondisian dengan fungsi getch()
13.Menampilkan hasil eksekusi program nilai mahasiswa
14.Selesai
*/
#include <stdio.h> //file header untuk printf dan scanf
#include <conio.h> //file header untuk fungsi getch()
#include <iostream.h> //file header untuk cout dan cin
void main() //deklarasi fungsi utama
{
/*deklarasi variabel*/
int nilai_aktif,nilai_tugas,nilai_ujian,nilai_akhir,nim;
char nama[15];
/*pembukaan program*/
printf("t=======================================n");
printf("t| CREATED BY : |n");
printf("t| YUSI NUR Aisyah |n");
printf("t| S1 PTI 2013 offering F |n");
printf("t=======================================nnn");
/*input data dari user*/
printf("tMasukkan Nama Andat : ");
scanf("%s", &nama);
printf("tMasukkan NIM Andat : ");
scanf("%i", &nim);
/*judul program*/
cout<<"nnt++++++ Program Nilai Mahasiswa ++++++nn";
cout<<"----------------------------------------------------
n";
cout<<"* Nilai Murni Keaktifan: ";
cin>>nilai_aktif;
cout<<"----------------------------------------------------
n";
cout<<"* Nilai Murni Tugas : ";
cin>>nilai_tugas;
20. cout<<"----------------------------------------------------
n";
cout<<"* Nilai Murni Ujian : ";
cin>>nilai_ujian;
nilai_akhir=nilai_aktif*0.2+nilai_tugas*0.3+nilai_ujian*0.5;
//proses penghitungan nilai akhir
cout<<"----------------------------------------------------
-n";
cout<<"----> NILAI AKHIR : "<<nilai_akhir<<endl;
cout<<"nntt Predikat Nilai: ";
cout<<"n=====================================================
=tn";
if(nilai_akhir>=0 && nilai_akhir<=44) //kondisi nilai akhir
mahasiswa antara 0 sampai 44
{
cout<<"tttE";
cout<<"ntAnda Tidak Lulus, tingkatkan belajar andan";
}else
if(nilai_akhir>=45 && nilai_akhir<=55) //kondisi nilai
akhir mahasiswa antara 45 sampai 55
{
cout<<"tttD";
cout<<"ntAnda Tidak Lulus, tingkatkan belajar andan";
}else
if(nilai_akhir>=56 && nilai_akhir<=65) //kondisi nilai
akhir mahasiswa antara 56 sampai 65
{
cout<<"tttC";
cout<<"ntAnda Lulus, tingkatkan prestasimun";
}else
if(nilai_akhir>=66 && nilai_akhir<=75) //kondisi nilai
akhir mahasiswa antara 66 sampai 75
{
cout<<"tttB-";
cout<<"ntAnda Lulus dengan Baik, tingkatkan
prestasimun";
}else
if(nilai_akhir>=76 && nilai_akhir<=85) //kondisi nilai
akhir mahasiswa antara 76 sampai 85
{
cout<<"tttB";
cout<<"ntAnda Lulus dengan Baik, tingkatkan
prestasimun";
}else
if(nilai_akhir>=86 && nilai_akhir<=90) //kondisi nilai
akhir mahasiswa antara 86 sampai 90
{
cout<<"tttA-";
21. cout<<"nttAnda Lulus, EXCELLENTn";
}else
//kondisi nilai akhir mahasiswa antara 91 sampai 100
{cout<<"tttA";cout<<"ntAnda Lulus, EXCELLENTn";}
cout<<"======================================================
tnnn";
getch();
}
Hasil Program
Deskripsi Program
Pada program nilai mahasiswa ini pertama user harus memasukkan data nama
mahasiswa lalu NIM. Kemudian data selanjutnya yang harus diinputkan adalah
nilai murni keaktifan, nilai murni tugas, dan nilai murni ujian. Dari data tersebut
akan diolah menjadi nilai akhir, yaitu
“nilai_akhir=nilai_aktif*0.2+nilai_tugas*0.3+nilai_ujian*0.5”
Maka program menyimpulkan dengan memberi predikat nilai berupa huruf dan pernyataan
dari data nilai akhir tersebut. Terdapat beberapa kondisi untuk predikat nilai, antara lain:
1) Jika nilai_akhir>=0 && nilai_akhir<=44 terpenuhi maka akan
dijalankan kondisi ini dan mencetak predikat nilai E dan menyatakan “Anda tidak
lulus, tingkatkan belajar anda”. Jika tidak terpenuhi maka akan dijalankan oleh kondisi
berikutnya.
2) Jika nilai_akhir>=45 && nilai_akhir<=55 terpenuhi maka akan
dijalankan kondisi ini dan mencetak predikat nilai D dan menyatakan “Anda tidak
lulus, tingkatkan belajar anda”. Jika tidak terpenuhi maka akan dijalankan oleh kondisi
berikutnya.
3) Jika nilai_akhir>=56 && nilai_akhir<=65 terpenuhi maka akan
dijalankan kondisi ini dan mencetak predikat nilai C dan menyatakan “Anda lulus,
22. tingkatkan prestasimu”. Jika tidak terpenuhi maka akan dijalankan oleh kondisi
berikutnya.
4) Jika nilai_akhir>=66 && nilai_akhir<=75 terpenuhi maka akan
dijalankan kondisi ini dan mencetak predikat nilai B- dan menyatakan “Anda lulus
dengan baik, pertahankan prestasimu”. Jika tidak terpenuhi maka akan dijalankan oleh
kondisi berikutnya.
5) Jika nilai_akhir>=76 && nilai_akhir<=85 terpenuhi maka akan
dijalankan kondisi ini dan mencetak predikat nilai B dan menyatakan “Anda lulus,
pertahankan prestasimu”. Jika tidak terpenuhi maka akan dijalankan oleh kondisi
berikutnya.
6) Jika nilai_akhir>=86 && nilai_akhir<=90 terpenuhi maka akan
dijalankan kondisi ini dan mencetak predikat nilai A- dan menyatakan “Anda lulus,
EXCELLENT”. Jika tidak terpenuhi maka akan dijalankan oleh kondisi berikutnya.
7) Jika nilai_akhir>=91 && nilai_akhir<=100 terpenuhi maka akan
dijalankan kondisi ini dan mencetak predikat nilai A dan menyatakan “Anda lulus,
EXCELLENT”. Jika tidak terpenuhi maka program akan secara default mencetak
hasil dari kondisi terakhir.
Karena pada program ini menggunakan fungsi getch(); maka pada saat mencetak
predikat nilai harus di delay terlebih dahulu dengan menekan satu kali lagi tombol
terserah untuk menampilkan hasil dari predikat nilai. Kemudian setelah tercetak
hasilnya, program berakhir dijalankan dengan baik.
23. 5. Lab 5
Buatlah diagram alir dan program dengan menggunakan logika percabangan
SwitchCase untuk melakukan pemilihan menu penghitungan rumus-rumus :
1) Rumus Menghitung Luas Segitiga;
2) Rumus Menghitung Luas Balok:
3) Rumus Menghitung konversi suhu;
4) Rumus Menghitung Luas Lingkaran.
5) Rumus untuk mengetahui tahun kabisat.
Syntax
/*
Nama : Yusi Nur Aisyah
NIM : 130533608107
Prodi/Offering : S1 PTI 2013 / Offering F
Algoritma :
1. Mulai
2. Mendeklarasikan header file
3. Mendeklarasikan fungsi utama program
4. Mendeklarasikan variabel
5. Menampilkan menu program yang disediakan
6. Memasukkan kode program yang dipilih
7. Mengkondisikan jika memilih program 1
- Menampilkan judul program penghitung luas segitiga
- Memasukkan nilai alas
- Memasukkan nilai tinggi
- Memproses luas segitiga = alas * tinggi
- Mencetak hasil luas segitiga
8. Mengkondisikan jika memilih program 2
- Menampilkan judul program penghitung luas permukaan
balok
- Memasukkan nilai panjang balok
- Memasukkan nilai lebar balok
- Memasukkan nilai tinggi balok
- Memproses pl = panjang_balok*lebar_balok
- Memproses pt = panjang_balok*tinggi_balok
- Memproses lt = lebar_balok*tinggi_balok
- Memroses luas permuakaan balok = pl * pt * lt
- Mencetak hasil luas segitiga
9. Mengkondisikan jika memilih program 3
- Menampilkan judul program pengkonversi suhu
- Memasukkan suhu dalam celcius
- Mengkonversi celcius ke fahrenheit , yaitu
fahrenheit = (celcius*1.8) + 32;
- Mengkonversi celcius ke reamur , yaitu reamur =
celcius * 0.8;
- Mengkonversi celcius ke kelvin , yaitu kelvin =
celcius + 273.15;
- Mencetak ketiga hasil konversi
10.Mengkondisikan jika memilih program 4
24. - Menampilkan judul program penghitung luas lingkaran
- Memasukkan nilai jari-jari lingkaran
- Memasukkan nilai tinggi
- Memproses luas lingkaran = 3.14 * r *r
- Mencetak hasil luas lingkaran
11.Mengkondisikan jika memilih program 5
- Menampilkan judul program mengetahui tahun kabisat
- Memasukkan tahun
- Memproses nilai dari tahun tersebut dengan dua kondisi,
yaitu :
--> jika tahun habis dibagi 4 berarti termasuk ke
dalam tahun kabisat
--> jika tahun tidak habis (sisa) dibagi 4 berarti
bukan termasuk tahun kabisat
- Mencetak hasil kondisi yang terpenuhi
12.Mengkondisikan jika memilih program melebihi 5 (>5) dengan
mencetak kata maaf , program yang tersedia hanya [1-5]
13.Mendelay hasil akhir program dengan fungsi getch()
14.Selesai
*/
#include <iostream.h> //header file untuk cout dan cin
#include <conio.h> // header file untuk fungsi getch()
#include <stdio.h> //header file untuk printf dan scanf
void main(){ //deklarasi fungsi utama
//deklarasi variabel
float
alas,tinggi,luas,panjang_balok,tinggi_balok,lebar_balok,luas_b
alok,pl,pt,lt;
int a;
char op;
double celcius, fahrenheit, reamur, kelvin, r, l;
//judul program
cout<<"nnt++++++ Program Menu Menggunakan Switch Case
++++++nnn";
cout<<"----------------------------------------------------
---n";
//menu program yang tersedia
cout<<"|=====================================================|
"<<endl;
cout<<"| MENU PROGRAM
|"<<endl;
cout<<"|=====================================================|
"<<endl;
cout<<"| 1. Penghitung Luas Segitiga
|"<<endl;
cout<<"| 2. Penghitung Luas Permukaan Balok
|"<<endl;
25. cout<<"| 3. Pengkonversi Suhu
|"<<endl;
cout<<"| 4. Penghitung Luas Lingkaran
|"<<endl;
cout<<"| 5. Mengetahui Tahun Kabisat
|"<<endl;
cout<<"|=====================================================|
"<<endl;
cout<<"nnPilihlah program yang akan Anda gunakan [1-5]t: ";
cin>>op;
//pengkondisian pemilihan menu program
switch(op)
{
case '1': //kondisi jika memilih program [1]
cout<<"-------------------------------------------------------
----"<<endl;
cout<<"| Program yang anda pilih adalah Penghitung Luas
Segitiga |"<<endl;
cout<<"-------------------------------------------------------
----"<<endl;
cout<<"n PROGRAM PENGHITUNG LUAS SEGITIGA
"<<endl;
//input data dari user
cout<<"nMasukan Nilai Alast: ";
cin>>alas;
cout<<"nMasukan Nilai Tinggit: ";
cin>>tinggi;
luas=0.5*alas*tinggi; //proses perhitungan data
cout<<"nLuas Segitiga adalaht: "<<luas<<endl;
//mencetak hasil
break;
case '2': //kondisi jika memilih program [2]
cout<<"-------------------------------------------------------
--------------"<<endl;
cout<<"| Program yang anda pilih adalah Penghitung Luas
Permukaan Balok |"<<endl;
cout<<"-------------------------------------------------------
--------------"<<endl;
cout<<"n PROGRAM PENGHITUNG LUAS BALOK
"<<endl;
//input data dari user
cout<<"nMasukan Nilai Panjangt: ";
cin>>panjang_balok;
cout<<"nMasukan Nilai Tinggit: ";
cin>>tinggi_balok;
cout<<"nMasukan Nilai Lebart: ";
cin>>lebar_balok;
26. //proses perhitungan data
pl=panjang_balok*lebar_balok;
pt=panjang_balok*tinggi_balok; lt=lebar_balok*tinggi_balok;
luas_balok = 2*(pl+pt+lt);
cout<<"nLuas Balok adalaht: "<<luas_balok<<endl;
//mencetak hasil
break;
case '3': //kondisi jika memilih program [3]
cout<<"-------------------------------------------------------
----"<<endl;
cout<<"| Program yang anda pilih adalah Pengkonversi Suhu
|"<<endl;
cout<<"-------------------------------------------------------
----"<<endl;
cout<<"n KONVERSI SUHU DARI CELCIUS KE
"<<endl;
cout<<" Farenheit | Reamur | Kelvin
"<<endl;
cout<<"n-----------------------------------------------------
------"<<endl;
//input data dari user
cout<<"Masukkan suhu dalam celciust: ";
cin>>celcius;
//proses perhitungan data
fahrenheit = (celcius*1.8) + 32;
reamur = celcius * 0.8;
kelvin = celcius + 273.15;
//mencetak hasil
cout<<"nn+++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++"<<endl;
cout<<"| HASIL KONVERSI SUHU
|"<<endl;
cout<<"+++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++"<<endl;
cout<<" FAHRENHEIT = "<<fahrenheit<<" oC"<<endl;
cout<<" REAMUR = "<<reamur<<" oC"<<endl;
cout<<" KELVIN = "<<kelvin<<" oC"<<endl;
break;
case '4': //kondisi jika memilih program [4]
cout<<"-------------------------------------------------------
----"<<endl;
cout<<"| Program yang anda pilih adalah Penghitung Luas
Lingkaran|"<<endl;
cout<<"-------------------------------------------------------
----"<<endl;
cout<<"n PROGRAM PENGHITUNG LUAS LINGKARAN
"<<endl;
27. cout<<"n-----------------------------------------------------
------"<<endl;
cout<<"Masukkan Jari-Jari Lingkarant: "; //input data dari
user
cin>>r;
l=3.14*r*r;
cout<<"-------------------------------------------------------
----"<<endl;
cout<<"Luas Lingkaran adalahtt: "<<l<<endl; //mencetak hasil
break;
case '5': //kondisi jika memilih program [5]
cout<<"-------------------------------------------------------
----"<<endl;
cout<<"| Program yang anda pilih adalah Penentuan Tahun
Kabisat |"<<endl;
cout<<"-------------------------------------------------------
----"<<endl;
cout<<"n PROGRAM PENENTU TAHUN KABISAT
"<<endl;
cout<<"n-----------------------------------------------------
------"<<endl;
cout<<"Masukan tahunt: "; //input data dari user
cin>>a;
if(a % 4==0){ //kondisi jika tahun dapat habis dibagi 4
cout<<"---> Tahun "<<a<<" Merupakan Tahun Kabisat"<<endl;
}
else //kondisi jika tahun tidak dapat habis dibagi 4
cout<<"---> Tahun "<<a<<" Bukan Tahun Kabisat"<<endl;
break;
default : //kondisi jika memilih program [>5]
cout<<"n PROGRAM ERROR
"<<endl;
cout<<"-------------------------------------------------------
-----"<<endl;
cout<<"Ooops , Sorry ... "<<endl;
cout<<"Program "<<op<<" Tidak tersedia"<<endl;
cout<<"Program yang tersedia hanya [1-5]"<<endl;
}
cout<<"n=====================================================
======"<<endl;
cout<<" tTHANK'S FOR USING THIS APP :) nn"<<endl;
getch();
}
28. Hasil Program
A. Hasil program penghitung luas segitiga
B. Hasil program penghitung luas permukaan balok
29. C. Hasil program pengkonversi suhu
D. Hasil program penghitung luas lingkaran
30. E. Hasil program mengetahui tahun kabisat
F. Hasil program yang tidak terdapat di dalam menu
31. Deskripsi Program
Program menu menggunakan switch-case pertama kita menampilkan menu atau
pilihan-pilihan program seperti Penghitung Luas Segitiga, Penghitung Luas
Permukaan Balok, Pengkonversi Suhu, Penghitung Luas Lingkaran, dan
Mengetahui Tahun Kabisat. Pemilihan program dari nomor 1 – 5.
(1) Jika memlih nomor 1 berarti program Penghitung Luas Segitiga
User menginputkan angka pertama, kemudian angka kedua yang bertipe data
float. Kemudian, di proses dengan luas=0.5*alas*tinggi; setelah itu,
mencetak hasil luas segitiga.
(2) Jika memlih nomor 2 berarti program Penghitung Luas Permukaan Balok.
User menginputkan panjang_balok, lebar_balok, tinggi_balok kemudian kita
memproses pt yaitu hasil kali panjang_balok dengan tinggi_balok. Memproses
pl yaitu hasil kali panjang_balok dengan lebar_balok. Dan memproses lt yaitu
hasil kali lebar_balok dengan tinggi_balok. Kemudian baru memproses luas
permukaan balok = 2 * (pl+pt+lt)
(3) Jika memlih nomor 3 berarti program Pengkonversi Suhu
Program menyediakan konversi dari Celcius ke Fahrenheit, Celcius ke Reamur,
Celcius ke Kelvin. User menginputkan sebuah angka dalam celcius kemudian
program akan mengkonversinya menjadi Fahrenheit, Reamur, Celcius.
Mencetak hasil konversi.
(4) Jika memlih nomor 4 berarti program Penghitung Luas Lingkaran
User menginputkan jari-jari lingkaran. Kemudian memproses luas
lingkaran=3.14*r*r. lalu mencetak hasil luas lingkaran.
(5) Jika memlih nomor 5 berarti program Mengetahui Tahun Kabisat
User memasukkan tahun, kemudian memproses tahun tersebut. Jika tahun habis
dibagi 4 maka termasuk tahun kabisat. Jika tahun dibagi 4 tidak habis dibagi
maka bukan termasuk tahun kabisat. Lalu program mencetak hasilnya.
(6) Jika memlih nomor di atas 5 berarti program tidak tersedia dan akan muncul
tulisan “Program yang tersedia hanya [1-5]”
C. TUGAS RUMAH
Syntax
/*
Nama : Yusi Nur Aisyah
NIM : 130533608107
Prodi/Offering : S1 PTI 2013 / Offering F
Algoritma :
1. Mulai
2. Mendeklarasikan header file
3. Mendeklarasikan fungsi utama program
4. Mendeklarasikan variabel
5. Memasukkan nama karyawan dan menampilkannya
6. Memasukkan golongan dan menampilkannya
7. Memasukkan pendidikan (SMA, D3, S1) dengan kode [1 /2 /3]
dan menampilkannya
32. 8. Memasukkan jumlah jam kerja dan menampilkannya
9. Mengkondisikan jika golongan [1] mendapatkan tunjangan
jabatan sebesar 5% dan pendidikan [1] mendapatkan tunjangan
pendidikan sebesar 2.5%
10.Mengkondisikan jika golongan [1] mendapatkan tunjangan
jabatan sebesar 5% dan pendidikan [2] mendapatkan tunjangan
pendidikan sebesar 5%
11.Mengkondisikan jika golongan [1] mendapatkan tunjangan
jabatan sebesar 5% dan pendidikan [3] mendapatkan tunjangan
pendidikan sebesar 7.5%
12.Mengkondisikan jika golongan [2] mendapatkan tunjangan
jabatan sebesar 10% dan pendidikan [1] mendapatkan tunjangan
pendidikan sebesar 2.5%
13.Mengkondisikan jika golongan [2] mendapatkan tunjangan
jabatan sebesar 10% dan pendidikan [2] mendapatkan tunjangan
pendidikan sebesar 5%
14.Mengkondisikan jika golongan [2] mendapatkan tunjangan
jabatan sebesar 10% dan pendidikan [3] mendapatkan tunjangan
pendidikan sebesar 7.5%
15.Mengkondisikan jika golongan [3] mendapatkan tunjangan
jabatan sebesar 15% dan pendidikan [1] mendapatkan tunjangan
pendidikan sebesar 2.5%
16.Mengkondisikan jika golongan [3] mendapatkan tunjangan
jabatan sebesar 15% dan pendidikan [2] mendapatkan tunjangan
pendidikan sebesar 5%
17.Mengkondisikan jika golongan [3] mendapatkan tunjangan
jabatan sebesar 15% dan pendidikan [3] mendapatkan tunjangan
pendidikan sebesar 7.5%
18.Mengkondisikan jika input data yang dimasukkan salah maka
muncul ucapan terimakasih
19.Mencetak hasilnya dengan teknik delay menggunakan fungsi
getch
20.Selesai
*/
#include<stdio.h> //header file untuk printf dan scanf
#include<iostream.h> //header file untuk cout dan cin
#include<conio.h> //header file untuk fungsi getch
void karyawan() //deklarasi fungsi utama menggunakan variabel
karyawan
{
//deklarasi variabel
float gol;
float gapok;
float pend;
float tunjangan_gol;
float tunjangan_pend;
float total;
float lembur;
33. float tot_lembur;
char nama [20];
char nama_k [20];
{
//judul program
printf("t====================================================
======n");
printf("t| PROGRAM HITUNG HONOR KARYAWAN KONTRAK
|n");
printf("t| PT. DINGIN DAMAI
|n");
printf("t====================================================
======nnn");
//input data dari user
cout<<"Nama Karyawanttt: ";
cin>>nama;
cout<<"Golongan ttt: ";
cin>>gol;
cout<<"Pendidikan (SMA / D3 / S1)t: ";
cin>>pend;
cout<<"Jumlah Jam Kerjatt: ";
cin>>lembur;
//pengkondisian pada program
if ((gol==1) && (pend==1)) //kondisi jika menginputkan data
golongan ke-1 dan pendidikan ke-1
{
//proses perhitungan
gapok=300000;
tunjangan_gol=(0.05*gapok);
tunjangan_pend=(0.025*gapok);
tot_lembur=(lembur-208)*2500;
total=(gapok+tunjangan_gol+tunjangan_pend)+tot_lembur;
//output
cout<<"=======================================================
======================"<<endl;
cout<<" n Karyawan yang bernama "<<nama<<endl;
cout<<" Honor yang diterima adalah sebagai berikut
:"<<endl<<endl;
cout<<"=======================================================
======================"<<endl;
cout<<"Gaji Pokoktt=Rp. "<<gapok<<endl;
cout<<"Tunjangan Jabatant=Rp. "<<tunjangan_gol<<endl;
cout<<"Tunjangan Pendidikant=Rp. "<<tunjangan_pend<<endl;
cout<<"Honor Lemburtt=Rp. "<<tot_lembur<<endl;
cout<<"_________________________________________________+"<<en
dl;
cout<<"Honor yang Diterimat=Rp. "<<total<<endl<<endl;
34. cout<<"=======================================================
======================"<<endl;}
else if ((gol==1) && (pend==2)) //kondisi jika menginputkan
data golongan ke-1 dan pendidikan ke-2
{
//proses perhitungan
gapok=300000;
tunjangan_gol=(0.05*gapok);
tunjangan_pend=(0.05*gapok);
tot_lembur=(lembur-208)*2500;
total=(gapok+tunjangan_gol+tunjangan_pend)+tot_lembur;
//output
cout<<"=======================================================
======================"<<endl;
cout<<" n Karyawan yang bernama "<<nama<<endl;
cout<<" Honor yang diterima adalah sebagai berikut
:"<<endl<<endl;
cout<<"=======================================================
======================"<<endl;
cout<<"Gaji Pokoktt=Rp. "<<gapok<<endl;
cout<<"Tunjangan Jabatant=Rp. "<<tunjangan_gol<<endl;
cout<<"Tunjangan Pendidikant=Rp. "<<tunjangan_pend<<endl;
cout<<"Honor Lemburtt=Rp. "<<tot_lembur<<endl;
cout<<"_________________________________________________+"<<en
dl;
cout<<"Honor yang Diterimat=Rp. "<<total<<endl<<endl;
cout<<"=======================================================
======================"<<endl;}
else if ((gol==1) && (pend==3)) //kondisi jika menginputkan
data golongan ke-1 dan pendidikan ke-3
{
//proses perhitungan
gapok=300000;
tunjangan_gol=(0.05*gapok);
tunjangan_pend=(0.075*gapok);
tot_lembur=(lembur-208)*2500;
total=(gapok+tunjangan_gol+tunjangan_pend)+tot_lembur;
//output
cout<<"=======================================================
======================"<<endl;
cout<<" n Karyawan yang bernama "<<nama<<endl;
cout<<" Honor yang diterima adalah sebagai berikut
:"<<endl<<endl;
cout<<"=======================================================
======================"<<endl;
cout<<"Gaji Pokoktt=Rp. "<<gapok<<endl;
cout<<"Tunjangan Jabatant=Rp. "<<tunjangan_gol<<endl;
cout<<"Tunjangan Pendidikant=Rp. "<<tunjangan_pend<<endl;
cout<<"Honor Lemburtt=Rp. "<<tot_lembur<<endl;
35. cout<<"_________________________________________________+"<<en
dl;
cout<<"Honor yang Diterimat=Rp. "<<total<<endl<<endl;
cout<<"=======================================================
======================"<<endl;}
else if ((gol==2) && (pend==1)) //kondisi jika menginputkan
data golongan ke-2 dan pendidikan ke-1
{
//proses perhitungan
gapok=300000;
tunjangan_gol=(0.10*gapok);
tunjangan_pend=(0.025*gapok);
tot_lembur=(lembur-208)*2500;
total=(gapok+tunjangan_gol+tunjangan_pend)+tot_lembur;
//output
cout<<"=======================================================
======================"<<endl;
cout<<" n Karyawan yang bernama "<<nama<<endl;
cout<<" Honor yang diterima adalah sebagai berikut
:"<<endl<<endl;
cout<<"=======================================================
======================"<<endl;
cout<<"Gaji Pokoktt=Rp. "<<gapok<<endl;
cout<<"Tunjangan Jabatant=Rp. "<<tunjangan_gol<<endl;
cout<<"Tunjangan Pendidikant=Rp. "<<tunjangan_pend<<endl;
cout<<"Honor Lemburtt=Rp. "<<tot_lembur<<endl;
cout<<"_________________________________________________+"<<en
dl;
cout<<"Honor yang Diterimat=Rp. "<<total<<endl<<endl;
cout<<"=======================================================
======================"<<endl;}
else if ((gol==2) && (pend==2)) //kondisi jika menginputkan
data golongan ke-2 dan pendidikan ke-2
{
//proses perhitungan
gapok=300000;
tunjangan_gol=(0.10*gapok);
tunjangan_pend=(0.05*gapok);
tot_lembur=(lembur-208)*2500;
total=(gapok+tunjangan_gol+tunjangan_pend)+tot_lembur;
//output
cout<<"=======================================================
======================"<<endl;
cout<<" n Karyawan yang bernama "<<nama<<endl;
cout<<" Honor yang diterima adalah sebagai berikut
:"<<endl<<endl;
cout<<"=======================================================
======================"<<endl;
cout<<"Gaji Pokoktt=Rp. "<<gapok<<endl;
cout<<"Tunjangan Jabatant=Rp. "<<tunjangan_gol<<endl;
36. cout<<"Tunjangan Pendidikant=Rp. "<<tunjangan_pend<<endl;
cout<<"Honor Lemburtt=Rp. "<<tot_lembur<<endl;
cout<<"_________________________________________________+"<<en
dl;
cout<<"Honor yang Diterimat=Rp. "<<total<<endl<<endl;
cout<<"=======================================================
======================"<<endl;}
else if ((gol==2) && (pend==3)) //kondisi jika menginputkan
data golongan ke-2 dan pendidikan ke-3
{
//proses perhitungan
gapok=300000;
tunjangan_gol=(0.10*gapok);
tunjangan_pend=(0.075*gapok);
tot_lembur=(lembur-208)*2500;
total=(gapok+tunjangan_gol+tunjangan_pend)+tot_lembur;
//output
cout<<"=======================================================
======================"<<endl;
cout<<" n Karyawan yang bernama "<<nama<<endl;
cout<<" Honor yang diterima adalah sebagai berikut
:"<<endl<<endl;
cout<<"=======================================================
======================"<<endl;
cout<<"Gaji Pokoktt=Rp. "<<gapok<<endl;
cout<<"Tunjangan Jabatant=Rp. "<<tunjangan_gol<<endl;
cout<<"Tunjangan Pendidikant=Rp. "<<tunjangan_pend<<endl;
cout<<"Honor Lemburtt=Rp. "<<tot_lembur<<endl;
cout<<"_________________________________________________+"<<en
dl;
cout<<"Honor yang Diterimat=Rp. "<<total<<endl<<endl;
cout<<"=======================================================
======================"<<endl;}
else if ((gol==3) && (pend==1)) //kondisi jika menginputkan
data golongan ke-3 dan pendidikan ke-1
{
//proses perhitungan
gapok=300000;
tunjangan_gol=(0.15*gapok);
tunjangan_pend=(0.025*gapok);
tot_lembur=(lembur-208)*2500;
total=(gapok+tunjangan_gol+tunjangan_pend)+tot_lembur;
//output
cout<<"=======================================================
======================"<<endl;
cout<<" n Karyawan yang bernama "<<nama<<endl;
cout<<" Honor yang diterima adalah sebagai berikut
:"<<endl<<endl;
cout<<"=======================================================
======================"<<endl;
37. cout<<"Gaji Pokoktt=Rp. "<<gapok<<endl;
cout<<"Tunjangan Jabatant=Rp. "<<tunjangan_gol<<endl;
cout<<"Tunjangan Pendidikant=Rp. "<<tunjangan_pend<<endl;
cout<<"Honor Lemburtt=Rp. "<<tot_lembur<<endl;
cout<<"_________________________________________________+"<<en
dl;
cout<<"Honor yang Diterimat=Rp. "<<total<<endl<<endl;
cout<<"=======================================================
======================"<<endl;}
else if ((gol==3) && (pend==2)) //kondisi jika menginputkan
data golongan ke-3 dan pendidikan ke-2
{
//proses perhitungan
gapok=300000;
tunjangan_gol=(0.15*gapok);
tunjangan_pend=(0.05*gapok);
tot_lembur=(lembur-208)*2500;
total=(gapok+tunjangan_gol+tunjangan_pend)+tot_lembur;
//output
cout<<"=======================================================
======================"<<endl;
cout<<" n Karyawan yang bernama "<<nama<<endl;
cout<<" Honor yang diterima adalah sebagai berikut
:"<<endl<<endl;
cout<<"=======================================================
======================"<<endl;
cout<<"Gaji Pokoktt=Rp. "<<gapok<<endl;
cout<<"Tunjangan Jabatant=Rp. "<<tunjangan_gol<<endl;
cout<<"Tunjangan Pendidikant=Rp. "<<tunjangan_pend<<endl;
cout<<"Honor Lemburtt=Rp. "<<tot_lembur<<endl;
cout<<"_________________________________________________+"<<en
dl;
cout<<"Honor yang Diterimat=Rp. "<<total<<endl<<endl;
cout<<"=======================================================
======================"<<endl;}
else if ((gol==3) && (pend==3)) //kondisi jika menginputkan
data golongan ke-3 dan pendidikan ke-3
{
//proses perhitungan
gapok=300000;
tunjangan_gol=(0.15*gapok);
tunjangan_pend=(0.075*gapok);
tot_lembur=(lembur-208)*2500;
total=(gapok+tunjangan_gol+tunjangan_pend)+tot_lembur;
//output
cout<<"=======================================================
======================"<<endl;
cout<<" n Karyawan yang bernama "<<nama<<endl;
38. cout<<" Honor yang diterima adalah sebagai berikut
:"<<endl<<endl;
cout<<"=======================================================
======================"<<endl;
cout<<"Gaji Pokoktt=Rp. "<<gapok<<endl;
cout<<"Tunjangan Jabatant=Rp. "<<tunjangan_gol<<endl;
cout<<"Tunjangan Pendidikant=Rp. "<<tunjangan_pend<<endl;
cout<<"Honor Lemburtt=Rp. "<<tot_lembur<<endl;
cout<<"_________________________________________________+"<<en
dl;
cout<<"Honor yang Diterimat=Rp. "<<total<<endl<<endl;
cout<<"=======================================================
======================"<<endl;}
else
{
cout<<"SALAH"<<endl; //kondisi jika menginputkan data yang
tidak valid
}
cout<<""<<endl;
cout<<" TERIMA KASIH"<<endl<<endl;
cout<<"=======================================================
======================"<<endl;
}}
void main()
{
karyawan();
getch();
}
Hasil Program
39. Deskripsi Progam
Program hitung honor karyawan kontrak PT. Dingin Damai ini pertama dimulai
dengan menginputkan data berupa, yaitu nama karyawan berupa tipe data character
sebanyak maksimal 20 karakter. Kemudian menginputkan golongan yaitu golongan 1
sampai golongan 3, berupa float. Menginputkan pendidikan terakhir yaitu SMA, D3
atau S1 yang inputnya berupa kode 1 untuk SMA, 2 untuk D3 dan 3 untuk S1,
masukkan data berupa float. Dan inputan selanjutnya adalah jumlah jam kerja.
Jumlah jam kerja normal per hari adalah 8 jam. Dalam sebulan efektif bekerja
sebanyak 26 hari. Berarti selama sebulan kerja normalnya adalah 26*8=208 jam.
Setelah memasukkan jumlah jam kerja, muncul rincian honor yang akan diterima oleh
karyawan.
- Gaji pokok yang telah ditetapkan adalah sebesar Rp. 300.000
- Tunjangan jabatan dalam prosesnya terdapat 3 kondisi, antara lain:
a) Jika karyawan termasuk ke dalam golongan 1 maka karyawan mendapatkan
tunjangan sebesar 5% dari gaji pokoknya.
b) Jika karyawan termasuk ke dalam golongan 2 maka karyawan mendapatkan
tunjangan sebesar 10% dari gaji pokoknya.
c) Jika karyawan termasuk ke dalam golongan 3 maka karyawan mendapatkan
tunjangan sebesar 15% dari gaji pokoknya.
- Tunjangan pendidikan dalam prosesnya terdapat 3 kondisi, antara lain:
a) Jika karyawan pendidikan terakhirnya adalah SMA maka karyawan
mendapatkan tunjangan sebesar 2,5% dari gaji pokoknya.
b) Jika karyawan pendidikan terakhirnya adalah D3 maka karyawan
mendapatkan tunjangan sebesar 5% dari gaji pokoknya.
c) Jika karyawan pendidikan terakhirnya adalah S1 maka karyawan
mendapatkan tunjangan sebesar 7,5% dari gaji pokoknya.
40. - Honor lembur akan didapatkan oleh karyawan jika karyawan bekerja lebih dari
208 jam tiap bulannya. Maka setiap kelebihan jam kerja lembur (>208 jam) akan
dikalikan dengan Rp. 2500 tiap jamnya. Jika tidak maka karyawan tidak
mendapatkan honor lembur.
D. KESIMPULAN
1. Penggunaan pernyataan if bersifat ” jika kondisi bernilai benar, maka (pernyataan)
perintah akan dikerjakan dan jika tidak memenuhi syarat maka program akan
diabaikan”. Dan dalam menggunakan pernyataan if , kondisi harus berada di dalam
kurung (……) dan berupa ekspresi relasi dan pernyataan tersebut dapat berupa sebuah
pernyataan tunggal, pernyataan majemuk atau pernyataan kosong.
2. Pernyataan if mempunyai pengertian “ jika kondisi bernilai benar, maka pernyataan
pertama akan dikerjakan dan jika tidak memenuhi syarat maka akan mengerjakan
pernyataan kedua.
3. Nested if merupakan pernyataan yang berada di dalam pernyataan yang lain.
4. Bentuk dari if-else bertingkat sebenarnya mirip dengan nested if. Keuntungan
penggunaan if-else bertingkat dibanding dengan nested if adalah bentuk penulisan
yang lebih sederhana.
5. Bentuk switch – case merupakan pernyataan yang dirancang khusus untuk
menanggani pengambilan keputusan yang melibatkan sejumlah atau banyak
alternative. Pernyataan switch – case ini memiliki kegunaan yang sama seperti if –
else bertingkat, tetapi untuk memeriksa data yang bertipe karakter atau integer.
6. Setiap cabang pada bentuk switch-case akan dijalankan jika syarat nilai konstanta
terpenuhi dan default akan dijalankan jika semua cabang diatasnya tidak terpenuhi.
Sedangkan pernyataan break menunjukkan siap keluar dari switch. Jika pernyataan ini
tidak ada, maka program akan diteruskan ke cabang-cabang yang lainnya.