180 likes | 382 Views
PEMROGRAMAN I C++. Dhefi Cahyadi dhevotcool@yahoo.com Sekolah Tinggi Manajemen Informatika Komputer Bani Saleh. LANJUTAN DECISION. NESTED IF Atau IF TERSARANG
E N D
PEMROGRAMAN IC++ DhefiCahyadi dhevotcool@yahoo.com SekolahTinggiManajemenInformatikaKomputerBaniSaleh
LANJUTAN DECISION • NESTED IF Atau IF TERSARANG • Bentuk nested If merupakanbentuk yang tidakmemilikistrukturkhususartinyasangatbergantungpadakasusataupermasalahan yang terjadi. • Apabilakeputusan, baik true/yaatau false/salahdiikutiolehstrukturseleksilainnyamakabentukitulah yang dikatakanstrukturseleksitersarang.
Perintah I If (Variabel-1=Nilai Variabel-1) { Blok statement-1 yang benar } Else If (Variabel-2=Nilai Variabel-2) { Blok statement-2 yang benar } Else { Blok statement-3 yang salah } Endif Endif
Perintah II : If (Variabel-1=Nilai Variabel-1) { Blok statement-1 yang benar } Else If (Variabel-2=Nilai Variabel-2) { Blok statement-2 yang benar } Else If (Variabel-3=Nilai Variabel-3) { Blok statement-3 yang benar } Else { Blok statement-4 yang salah } Endif Endif Endif
Contohsoal : • Sebuahperusahaanakanmenghitunggajikaryawandenganketentuansbb : • Gajipokok yang didapat : • JIkagol = 1, makagajipokok =1500000 • JIkagol = 2, makagajipokok =1200000 • JIkagol = 3, makagajipokok =1000000 • Jikagol= 4, makagajipokok = 700000 • MasaKerja = 2011 – tahunmasukkerja • Mencari bonus : • Jikamasakerjakaryawan>=5 maka bonus =200000 • Jikamasakerjakaryawan<5 tahun, maka bonus=0 • Gaji yang didapatadalahgajipokokkaryawandijumlahdengan bonus
soal • Buatalgoritmauntukmenentukan honor karyawandengankemungkinanlemburselamasatumingguuntukmenentukanupahmingguan. • Karyawanhonorer PT Sinardigajiberdasarkanjumlah jam kerjannyaselamasatuminggu. Upah per jam ditentukansbbJikagoladalahsatuupah per jam adalah 15000, golduaupah per jam 12000, goltigaupah per jam 10000. Jikajumlah jam kerjalebihbesardari 48 jam (jam normal kerja), makasisanyadianggapsebagai jam lembur. UpahlemburadalahRp. 7000.
Penyelesaian • Analisakasus : • Jama normal seminggu (JN) = 48 • Upahperjamlembur (UJL) = 7000 • Upah per jam (UPJ) • Jikagol=1, makaupahperjam (UPJ) = 15000 • Jikagol=2, makaupahperjam (UPJ) = 12000 • Jikagol=3, makaupahperjam (UPJ) = 10000 • Upah yang didapat : • Jikajumlah jam kerja (JJK) <= Jam Normal kerja (JN), makaupah (UPAH) = jumlah jam kerja (JJK) * upah per jam (UPJ) • Jikajumlah jam kerja (JJK) > Jam normal kerja (JN) maka • Upahlembur (UL) = jumlah jam kerja (JJK) – jam Normal (JN) • Upah (UPAH) =((Jam normal kerja (JN) * upah per jam (UJL)) + ( upahlembur (UL) * upah per jam lembur (UJL) ))
Soal : • BuatlahrekapnilaiStmikABC denganalgoritma • Variabel : • Nmhs = nama mahasiswa • Nim = nomor induk mahasiswa • tatapmuka • Na = nilai absen • Nt = nilai tugas • Nuts = nilai ujian tengah semester • Nuas = nilai ujian akhir semester • Nilai • Nh = nilai huruf • Nm = nilai mutu • Ket = keterangan nilai
Varaibel input : • Nmhs,Nim,tatapmuka,Nt,Nuts,Nuas • KetentuanProses : • Na=(tatapmuka/14)*10% • Nt=Nt *20% • Nuts=Nuts*30% • Nuas=Nuas*40% • nilai=Na+Nt+Nuts+Nuas
Lanjutansoal • Nilaihuruf : • Jikanilai >=80, makanilaihuruf=”A” • Jikanilai >=66 dannilai<80, makanilaihuruf=”B” • Jikanilai >=55 dannilai<66, makanilaihuruf=”C” • Jikanilai >=41 dannilai<55, makanilaihuruf=”D” • Jikanilai < 41, makanilaihuruf=”E” • Nilaimutu : • Jikanilaihuruf=”A”, makanilaimutu=”memuaskan” • Jikanilaihuruf=”B”, makanilaimutu=”baik” • Jikanilaihuruf=”C”, makanilaimutu=”cukup” • Jikanilaihuruf=”D”, makanilaimutu=”kurang” • Jikanilaihuruf=”E”, makanilaimutu=”gagal” • Keterangan • Jikanilai >=55, keterangan =”lulus” • Jikanilai <55, makaketerangan =”tidak lulus”
BENTUK Switch-Case • Bentuk lain dari model seleksiadalahbentuk Switch-case, dimanapadabentukinitidakdilakukanpengujian true/benaratau false/salah, tetapisuatuprosessudahdikelompokan yang sudahditetapkanberdasarkanpilihan
Perintah Switch (Variabel) { Case Nilai Variabel : Blok statement-1 ; Break ; Case Nilai Variabel-2 : Blok statement-2 ; Break ; Case Nilai Variabel-3 : Blok statement-3 ; Break ; Dan seterusnya Default : Blok statement default ; Break ; } Endcase
Contohsoal : • Sebuahperusahaanakanmenghitunggajikaryawandenganketentuansbb : • Gajipokok yang didapat: • JIkagol = 1, makagajipokok = 1500000 • JIkagol = 2, makagajipokok = 1200000 • JIkagol = 3, makagajipokok = 1000000 • Masakerja = 2010 – tahunmasukkerja • Bonus diisi • JIkamasakerja >=7 , maka bonus=150000 • Jikamasakerja < 7, maka bonus =0 • Gaji = gajipokok + bonus
#include <stdio.h> #include <iostream.h> #include <conio.h> Void main() { int gol,mk,tmk ; long gp,bonus,gaji ; Cout<<“masukan golongan karyawan =“ ; Cin>>gol ; Cout<<“masukan tahun masuk kerja karyawan = “ ; Cin>>tmk ;
If (gol==1) { gp=1500000; } else if (gol==2) { gp=1200000; } else if (gol==3) { gp=1000000; } else if (gol==4) { gp=700000; } else { gp=0 ; }
Mk=2011-tmk ; If (mk>=5) { bonus=200000; } Else { bonus=0; } Gaji=gp+bonus ; Cout<<“Laporan gaji karyawan”<<endl; Cout<<“PT ABC”<<endl; Cout<<“---------------------------------------------------------”<<endl; Cout<<“golongan karyawan = “<<gol<<endl; Cout<<“gaji pokok karyawan = “<<gp<<endl; Cout<<“tahun masuk kerja karyawan =“<<tmk<<endl; Cout<<“masa kerja karyawan =“<<mk<<endl; Cout<<“bonus karyawan =“<<bonus<<endl; Cout<<“gaji yang didapat karyawan =“<<gaji<<endl; Cout<<“===================================“<<endl ; Getch() ; }