Pertemuan IV

Download Report

Transcript Pertemuan IV

PEMROGRAMAN I C++

Dhefi Cahyadi [email protected]

Sekolah Tinggi Manajemen Informatika Komputer Bani Saleh

LANJUTAN DECISION

NESTED IF Atau IF TERSARANG

– Bentuk nested If merupakan bentuk yang tidak memiliki struktur khusus artinya sangat bergantung pada permasalahan yang terjadi.

kasus atau – Apabila keputusan, baik true/ya atau false/salah diikuti oleh struktur seleksi lainnya maka bentuk itulah yang dikatakan struktur seleksi tersarang.

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

Contoh soal :

• Sebuah perusahaan akan menghitung gaji karyawan dengan ketentuan sbb : – Gaji pokok yang didapat : • JIka gol = 1, maka gaji pokok =1500000 • JIka gol = 2, maka gaji pokok =1200000 • • JIka gol = 3, maka gaji pokok =1000000 Jika gol= 4, maka gaji pokok = 700000 – Masa Kerja = 2011 – tahun masuk kerja – Mencari bonus : • Jika masa kerja karyawan>=5 maka bonus =200000 • Jika masa kerja karyawan<5 tahun, maka bonus=0 – Gaji yang didapat adalah gaji pokok karyawan dijumlah dengan bonus

soal

• • Buat algoritma untuk menentukan honor karyawan dengan kemungkinan lembur selama satu minggu untuk menentukan upah mingguan.

Karyawan honorer PT Sinar digaji berdasarkan jumlah jam kerjannya selama satu minggu. Upah per jam ditentukan sbb Jika gol adalah satu upah per jam adalah 15000, gol dua upah per jam 12000, gol tiga upah per jam 10000. Jika jumlah jam kerja lebih besar dari 48 jam (jam normal kerja), maka sisanya dianggap sebagai jam lembur. Upah lembur adalah Rp. 7000.

Penyelesaian

• • • • 

Analisa kasus :

Jama normal seminggu (JN) = 48 Upah perjam lembur (UJL) = 7000 Upah per jam (UPJ) – Jika gol=1, maka upah perjam (UPJ) = 15000 – – Jika gol=2, maka upah perjam (UPJ) = 12000 Jika gol=3, maka upah perjam (UPJ) = 10000 Upah yang didapat : – Jika jumlah jam kerja (JJK) <= Jam Normal kerja (JN), maka upah (UPAH) = jumlah jam kerja (JJK) * upah per jam (UPJ) – Jika jumlah jam kerja (JJK) > Jam normal kerja (JN) maka • • Upah lembur (UL) = jumlah jam kerja (JJK) – jam Normal (JN) Upah (UPAH) =((Jam normal kerja (JN) * upah per jam (UJL)) + ( upah lembur (UL) * upah per jam lembur (UJL) ))

Soal :

Buatlah rekap nilai Stmik ABC dengan algoritma 

Variabel :

• Nmhs = nama mahasiswa • Nim = nomor induk mahasiswa • tatap muka • • 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, tatap muka, Nt, Nuts, Nuas 

Ketentuan Proses :

• Na=(tatap muka/14)*10% • Nt=Nt *20% • Nuts=Nuts*30% • Nuas=Nuas*40%

nilai=Na+Nt+Nuts+Nuas

• • •

Lanjutan soal Nilai huruf :

– Jika nilai >=80, maka nilai huruf=”A” – Jika nilai >=66 dan nilai<80, maka nilai huruf=”B” – Jika nilai >=55 dan nilai<66, maka nilai huruf=”C” – – Jika nilai >=41 dan nilai<55, maka nilai huruf=”D” Jika nilai < 41, maka nilai huruf=”E”

Nilai mutu :

– Jika nilai huruf=”A”, maka nilai mutu=”memuaskan” – Jika nilai huruf=”B”, maka nilai mutu=”baik” – – – Jika nilai huruf=”C”, maka nilai mutu=”cukup” Jika nilai huruf=”D”, maka nilai mutu=”kurang” Jika nilai huruf=”E”, maka nilai mutu=”gagal”

Keterangan

– Jika nilai >=55, keterangan =”lulus” – Jika nilai <55, maka keterangan =”tidak lulus”

BENTUK Switch-Case

• Bentuk lain dari model seleksi adalah bentuk Switch-case, dimana pada bentuk ini tidak dilakukan pengujian true/benar atau false/salah, dikelompokan tetapi yang suatu proses sudah sudah ditetapkan berdasarkan pilihan

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 : } Endcase Blok statement default ; Break ;

Contoh soal :

• Sebuah perusahaan akan menghitung gaji karyawan dengan ketentuan sbb :  Gaji pokok yang didapat : • JIka gol = 1, maka gaji pokok = 1500000 • JIka gol = 2, maka gaji pokok = 1200000 • JIka gol = 3, maka gaji pokok = 1000000  Masa kerja = 2010 – tahun masuk kerja  Bonus diisi • • JIka masa kerja >=7 , maka bonus=150000 Jika masa kerja < 7, maka bonus =0  Gaji = gaji pokok + bonus

#include #include #include { 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”<