Bagian 3 – Percabangan IF

September 09, 2014
Awan Rimbawan

1. Buat algoritma yang meminta 1 inputan angka kemudian menentukan apakah angka lebih besar atau lebih kecil daripada 10

ALGORITMA ContohIF1

VAR
  A : Integer

BEGIN
  INPUT(A)
	
  IF (A < 10) THEN
	OUTPUT('nilai A lebih kecil dari 10')		
  ELSE      
        IF A = 10 THEN  
	   OUTPUT('nilai A adalah 10')
	ELSE   
	   OUTPUT('nilai A lebih besar dari 10')	  	
END

2. Buat algoritma yang meminta 1 inputan angka kemudian menentukan apakah angka tersebut ganjil atau genap

ALGORITMA GanjilGenap

VAR
  A,B : Integer

BEGIN
  INPUT(A)
	
  IF (A MOD 2 = 0) THEN
	OUTPUT('A adalah bilangan genap')		
  ELSE	
	OUTPUT('A adalah bilangan ganjil')  

END

3. Buat algoritma yang menerima input 3 bilangan kemudian menentukan bilangan mana yang paling besar

ALGORITMA Menentukan3Bilangan

VAR
 in1, in2, in3 : Integer

BEGIN
 INPUT(in1)
 INPUT(in2)
 INPUT(in3)

 IF (in1 > in2) AND (in1 > in3) THEN
   OUTPUT(in1)
 ELSE
  BEGIN
    IF (in2 > in1) AND (in2 > in3) THEN
      OUTPUT(in2)
    ELSE
      OUTPUT(IN3)
  END

END

4. Buat algoritma untuk menentukan lama bekerja seorang pegawai. Inputan adalah jam masuk dan jam pulang. Catatan: jam berupa angka 1-12, dan seorang pegawai bekerja kurang dari 12 jam.

Contoh:
Jam masuk: 10 (input oleh user)
Jam keluar: 12 (input oleh user)
Lama kerja: 2 jam (output dari algoritma)

Jam masuk: 11 (input oleh user)
Jam keluar: 3 (input oleh user)
Lama kerja: 4 jam (output dari algoritma)

ALGORITMA Lama_Bekerja
{jam berupa angka 1-12, dan seorang pegawai bekerja kurang dari 12 jam}

VAR
    iMasuk, iKeluar, iLama: Integer

BEGIN    
    INPUT(iMasuk)
    INPUT(iKeluar)
    
    IF (iKeluar >= iMasuk) THEN
          iLama <--  iKeluar - iMasuk                                      
    ELSE 
          iLama <-- (12-iMasuk) + iKeluar               
    
    OUTPUT(iLama)
END

5. Tulis program untuk menentukan biaya parkir yang dihitung berdasarkan lama parkir. Lama parkir dihitung dari jam masuk dan jam keluar. Asumsi jam masuk dan keluar parkir berupa angka 1-12, dan lama parkir maksimal 12 jam. Biaya parkir 2 jam pertama 2000, perjam berikutnya 500.
Contoh Masukan dan keluaran:

Contoh:
Jam masuk: 10 (input oleh user)
Jam keluar: 11 (input oleh user)
Lama parkir: 1 jam
Biaya parkir: 2000 (output dari algoritma)

Jam masuk: 10 (input oleh user)
Jam keluar: 2 (input oleh user)
Lama parkir: 4 jam
Biaya Parkir: 3000 (output dari algoritma)

Algoritma Biaya_Parkir
{menghitung biaya parkir}

KAMUS DATA
    iMasuk, iKeluar, iLama, iBiaya: Integer
    
BEGIN    
    Input(iMasuk)
    Input(iKeluar)
    
    If (iKeluar >= iMasuk) Then
          iLama <-- iKeluar - iMasuk                                      
    Else 
          iLama <-- (12-iMasuk) + iKeluar               
        

    If (iLama > 2) Then
       iBiaya <-- 2000 + ((iLama - 2)*500)
    else
        iBiaya <-- 2000
    
    Output(iBiaya)
END

6. Buat program menghitung selisih waktu (dalam jam dan menit) berdasarkan jam mulai (jam,menit) dengan jam selesai (jam,menit). Data yang diinput adalah jam dan menit mulai, jam dan menit selesai. Format jam yang dimasukkan bisa berupa format 12 jam ataupun 24jam.
Contoh Masukan dan keluaran:

if-percabangan1

ALGORITMA MENGHITUNG_JAM_MENIT
{Inputan iJamStart,iMenitStart, iJamStop, iMenitStop. Keluaran iJamDurasi, iMenitDurasi}

VAR
    iJamStart,iMenitStart,iMenitStop,iJamStop: integer
    iTotMenitStart,iTotMenitStop,iSelangMenit,iJamDurasi,iMenitDurasi: integer

BEGIN  
    Input(iJamStart)
    Input(iMenitStart)
    
    Input(iJamStop)
    Input(iMenitStop)
    
    iTotMenitStart <-- iJamStart * 60 + iMenitStart
    iTotMenitStop <-- iJamStop * 60 + iMenitStop
    
    If (iTotMenitStop >= iTotMenitStart) Then
          iSelangMenit <-- iTotMenitStop - iTotMenitStart
    Else 
          iSelangMenit <-- ((12*60)-iTotMenitStart) + iTotMenitStop
    
    
    iJamDurasi <-- iSelangMenit div 60
    iMenitDurasi <-- iSelangMenit mod 60
  
    Output(iJamDurasi)
    Output(iMenitDurasi)

END

7.Buat program dengan masukan koordinat sebuah titik (x,y) dalam sebuah system koordinat kartesian, kemudian ditentukan di kuadran mana titik tersebut.
Contoh Masukan :
Koordinat titik (x,y) : 10 -20

Contoh keluaran:
Kuadran 4

ALGORITMA Menghitung_Kuadran

VAR
    ix, iy: Integer

BEGIN        
   Input(ix,iy)

    If (ix >= 0) Then
          If (iy >=0) Then 
              Output(“Kuadran I”)
          Else 
              Output(“Kuadran IV”)
    Else 
          If (iy >=0) Then
	    Output(“Kuadran II”)
          Else 
              Output(“Kuadran III”)
END    

8.Pemerintah hanya memberikan tunjangan anak dari PNS maksimal sampai 3 anak saja. Setiap anak diberikan tunjangan sebesar 10% dari gaji pokok.
Tulis program untuk menghitung total tunjangan anak, bila gaji pokok dan jumlah anak diinput oleh user.

if-percabangan8

ALGORITMA Menghitung_Tunjangan

VAR
    iGajiPokok, iTunjangan, iJmlAnak: Integer

BEGIN        

   Input(iGajiPokok)    
   Input(iJmlAnak)
    
    If (iJmlAnak <= 3) Then
          iTunjangan <-- iJmlAnak  *  0.1  *  iGajiPokok                                      
    Else 
         iTunjangan <-- 3 * 0.1 * iGajiPokok
    
    Output (iTunjangan)

END

9. Sebuah acara wisata digunakan minibus kapasitas 7 penumpang per mobil. Apabila terjadi kelebihan penumpang (walaupun cuma 1), maka minibus yang digunakan ditambah 1. Tulis program untuk menghitung jumlah minibus yang diperlukan, bila jumlah pesertanya diinput:

if-percabangan9

ALGORITMA Menghitung_Tunjangan

VAR
    iJmlPenumpang, iJmlMinibus : Integer

BEGIN        
        INPUT(iJmlPenumpang)
	
	iJmlMinibus <-- iJmlPenumpang DIV 7
	iSisaPenumpang <-- iJmlPenumpang MOD 7
	
	IF (iSisaPenumpang <> 0) THEN
	    iJmlMinibus <-- iJmlMinibus + 1 
	
	OUTPUT(iJmlMinibus)
	
	//bagaimana mengatasi inputan minus?

 END   

Facebook Comments

No comments

Leave a Reply

Your email address will not be published. Required fields are marked *

1 + 2 =