Jumat, 01 November 2013

Catatan Tambahan Algoritma1

Catatan Tambahan ::
ALGORITMA 1
1.      SELECTION/PEMILAHAN
Penulisan Selection ada 2:
Ø  If then Else
End if
Meggunakan kondisi ( <, >, <=, >=, = )
Syntaxnya :
If ( kondisi – 1)
Then if (kondisi -2)
                                         Then (statement-2)
                                                Else if (kondisi -3)
                                                            Then (statement-3)
                                                                        Else(statement-n)
End if

Contoh kasus:
Buat kasus dalam bentuk pseudecode untuk menghitung NA mahasiswa. Ketentuannya : NIM, Nama mahasiswa, alamat mhs, jurusan, nilai uas, nilai uts, nilai quis, nilai tugas.Mencari NA = 40% * Nilai UAS + 30% * Nilai UTS + 20% * Nilai Quis + 10% * Nilai Tugas.
NA ditentukan oleh nilai Grade.
Jika NA >85, maka NG =’A’
Jika NA >75, maka NG=’B’
Jika NA >65, maka NG=’C’
Jika NA >55, maka NG=’D’
Jika NA <55, maka NG=’E’

Cara penyelesaiannnya:
Input : [NIM, Nama, Alamat, Jurusan, N_UAS, N_UTS, NQ, NT]
Proses: [NA : (0.4*N_UAS) + (0.3*N_UTS) + (0.2*NQ) + (0.1*NT)
            Jika NA >85, maka NG =’A’
            Jika NA >75, maka NG=’B’
            Jika NA >65, maka NG=’C’
            Jika NA >55, maka NG=’D’
            Jika NA <55, maka NG=’E’]
Output: [ NIM, Nama, Alamat, Jurusan, N_UAS, N_UTS, NQ, NT, NA, NG]

Algoritma Name =  <Menghitung Nilai_Akhir_Mahasiswa>
Var
            NIM, Nama, Alamat, Jurusan : String;
            N_UAS, N_UTS, NQ, NT           : Byte/integer;
                                                             Real;
                                                             Char;
Begin
            Read [input]
            NA=(0.4*N_UAS)+(0.3*N_UTS)+(0.2*NQ)+(0.1*NT);
If NA >85
            Then NG=’A’
            Else if NA >75
                        Then NG=’B’
Else if NA >65
            Then NG=’C’
            Else if NA>55
            Then NG=’D’
            Then NG=’E’
End if
Write[output]
End.

Ø  Case of
End case
Syntax:
Case (Nama variabel) of
Kondisi-1 : statement-1
Kondisi-2 : statement-2
Kondisi-3: statement-3
Kondisi-4: statement-4
End case.


Contoh kasus:
Buat algoritma hitung upah karyawan
Ketentuan: NIK, Nama Karyawan, Alamat Karyawan, Gol, Jam Kerja
Jika GOL = 1, maka Uang Harian = 20000 dan Uang Lembur = 10000
Jika GOL = 2, maka Uang Harian = 15000 dan Uang Lembur = 7500
Jika GOL = 3, maka Uang Harian = 10000 dan Uang Lembur = 5000
Uang Lembur dihitung jika Jam kerjanya lebih dari 8 Jam
Tunjangan= 4%* Uang Harian dan Upah.
Uang harian ditambah Uang Lembur+Tunjangan

Cara penyelesaiannya:
Input: [NIK, Nama, Alamat, GOL, JK]
Proses: [ Jika GOL =1, maka UH =20000, dan UL=10000
            Jika GOL =2, maka UH =15000, dan UL=7500
            Jika GOL =3, maka UH =10000, dan UL=5000
            Jika JK >8 maka Lembur = ( JK – 8) * UL
            Jika JK<=8 maka Lembur = 0;
            Tunj = 0.04*UH
            Upah = UH + Lembur + Tunj]
Output: [NIK, Nama, Alamat, Gol, JK, UH, UL, Lembur, Tunj, Upah]

Algoritma Name: <Menghitung_Upah_Karyawan>
Var
            NIK, Nama, Alamat     : String;
            JK, Gol                         : integer;
            UH                               : longint;
            UL, Lembur, Upah, Tunj : real;
Begin
            Read[input]
            Case Gol of
            1 : UH= 20000; UL=10000;
            2: UH=15000; UL=7500;
            3.UH=10000; UL=5000;
End case
If JK >8
            Then Lembur = (JK-8)*UL;
            Else Lembur = 0;
End if
Tunj = 0.04*UH;
Upah= UH + Lembur+ Tunjangan;
Write[output]
End.

1.      LOOPING
Proses berulang-ulang untuk penambahan.
Syntax 3 macam:

Ø  For to do
End for
Proses pengulangan yang menggunakan increment (pencacah naik).
Syntax:
For name variable = indek awal to indek akhir do
Begin
      Read[input]
Statement
End
End for
Catatan= untuk nama variable bisa menggunakan huruf a sampai z, tapi sering digunakan I, J, X, Y

Contoh kasus:
Buat algoritma dalam bentuk pseudecode untuk menghitung 3 data nasabah bank.
Ketentuan = No Nasabah, Nama, Alamat Nasabah, Besar Pinjaman, Suku Bunga, Lama pinjaman.
Cara penyelasaian :
Input : [No_Nasabah, Nama, Alamat, BP, LP, Sb]
Proses: [pengulangan sampai 3 kali
                  B = BP*LP*SB
                  NP=B+B]
Output : [No_Nasabah, Nama, Alamat, BP, LP, SB, B, NP]

Algoritma Name <Data_kredit_Nasabah_Bank>
Var
                  No_Nasabah, Nama, Alamat : Stirng;
                  LP, I                                         : integer;
                  BP                                            : longint;
                  B, BP, NP                                 : real;
Begin
For I = 1 to 3 do
Begin
Read [input]
B=BP*LP*SB;
NP= BP+B;
End
End for
Write [output]
End.

Ø  While do
End while
Proses pengulangan yang menggunakan kondisi (<, >, <=, >-, = ) . proses pengulangan berlangsung jika kondisinya benar.
Syntax:
Nama variable = index awal;
While (kondisi) do
Begin
                        Read[input]
Statement;
Increment;
End
End while
Contoh kasus:
Buat algoritma utk menghitung 2 luas persegi panjang
Ketentuan= panjang, lebar
Untuk mencari luas = panjang x lebar
Cara penyelesaian:
Input: [P,L]
Proses: [pengulangan sampai dengan 2 kali
                        Luas = P*L]
Output:[P,L, Luas]
Algoritma Name : <perhitungan_matematika>
Var
P, L, Luas : real;
I                : integer;
Begin
I=0;
While I < 2 do
Begin
Read[input]
Luas= P*L;
I = I + 1;
End
End while                                    
Write[output]
End.
Ø  Repeat
Until
Proses pengulangan kebalikan dari while do, tidak perlu menggunakan Begin dan End
Syntax:
Nama_variable = index awal;
Repeat
 Read[input]
Statement;
Increment;
Until (kondisi)

Contoh kasus:
Buat algoritma untuk menghitung 3 data kredit nasabah bank.
Ketentuan: Nomor nasabah, nama nasabah, alamat nasabah, besar pinjaman, suku bunga, lama pinjaman.
Untuk mencari bunga : besar pinjaman dikali lama pinjaman dikali suku bunga.
Nilai pengembalian : Besar pinjaman ditambah bunga

Cara penyelesaian:
Input : [No nasabah, nama, alamat, BP, LP, SB]
Proses: [pengulangan sampai 3 kali  
                        B = BP*LP*SB
                        NP = BP + B]

Output: [No_Nasabah, Nama, Alamat, BP, LP, SB, B, NP]
Algoritma name : <data_kredit_Nasabah_Bank>
Var
No_Nasabah, Nama, Alamat  : String;
LP, I                                         : integer;
BP                                            : longint;
B, SB, NP                                 : real;
Begin
I = 0;
Repeat
                        Read[input]
B = BP*LP*SB;
NP = BP + B;
I = I + 1;
Until ( I <3)
write [output]
end.

“ Semoga Bermanfaat “





2 komentar:

  1. Terima kasih bu materi ini sangat membantu

    BalasHapus
  2. iya putra.. selamat belajar, tolong share ke yang lain, nanti kalau kalian ada yang ingin share masuk aj ke blogspot saya ini. nanti saya kirim lagi latihan2 lainnya..
    dan masuk ke circle saya aj ya put..

    BalasHapus

PROSIDING SEMNAS RISTEK 2018

SEMNAS RISTEK 2018 ISSN :2527-5321 PEMILIHAN DALAM MENEMUKAN IDE POKOK PARAGRAF UNTUK MENINGKATKAN KEMAMPUAN PADA SISWA KELAS VIII DI ...