instruksi utama - rollyyp.files.wordpress.com fileinstruksi switch - case. ... suatu syarat atau...
TRANSCRIPT
INSTRUKSI UTAMAInstruksi Runtunan (Sequential), Instruksi Pemilihan (Selection) dan Instruksi Perulangan (Repetition)
Instruksi Runtunan ?
• merupakan instruksi yang dikerjakan secara beruntun atau berurutan, baris per baris, mulai dari baris pertama hingga baris terakhir, tanpa ada loncatan atau perulangan.
• Ciri-cirinya :– Tiap instruksi dikerjakan sekali, satu per satu.
– Urutan pelaksanaan instruksi sama dengan urutan penulisan algoritma.
– Instruksi terkahir merupakan akhir dari algoritma.
– Urutan penulisan instruksi bisa menjadi penting bila diubah dapat menyebabkan hasil yang berbeda.
Contoh Algoritma Insturksi Runtunan
Algoritma Runtunan_1{menunjukkan urutan yang berbeda memberikan hasil yang berbeda}Definisi Variabel
integer A,B;Rincian Langkah
A ← 10;A ← 2*A;B ← A;
Algoritma ini akan menghasilkan hasil : 20
Algoritma Runtunan 2{menunjukkan urutan yang berbeda memberi hasil berbeda}Definisi Variabel :
integer A,B;Rincian Langkah :
A ←10;B ← A;A ← 2 * A;
Dengan urutan yang diubah maka algoritma ini akan memberi hasil : 10
Algoritma Runtunan 3
{algoritma untuk menghitung luas segitiga}Definisi Variabel:
real alas, tinggi;real luas;
Rincian Langkah:write("Masukkan panjang alasnya : ");read(alas);write("Masukkan tingginya :");read(tinggi);luas ←alas * tinggi / 2;write("Luas segitiga = ", luas);
Algoritma Runtunan 4{Algoritma menampilkan gaji bersih pegawai dengan memasukkan gaji pokok kemudian menghitung tunjangan sebesar 25% dan pajak pph 15%}Definisi Variabel :
string nama;real gajipokok, tunjangan, pajak;real gajibersih;
Rincian Langkah :write("Masukkan nama pegawai : ");read(nama);write("Masukkan gaji pokoknya : ");read(gajipokok);tunjangan ← 0.25 * gajipokok;pajak ← 0.15 * (gajipokok + tunjangan);gajibersih ← gajipokok+tunjangan-pajak;
{tampilkan output}write("Gaji saudara : ",nama);write("adalah = ",gajibersih);
Instruksi Pemilihan1. Instruksi if / then / else2. Instruksi switch - case
Instruksi Pemilihan ?
• adalah instruksi yang dipakai untuk memilih satu aksi dari beberapa kemungkinan aksi berdasarkan suatu persyaratan. Ada dua bentuk instruksi pemilihan yang sering digunakan, yaitu if/then/else dan instruksi case.
1. Instruksi if/then/else
• instruksi if/then/else digunakan untuk memilih alternatif apabila suatu syarat atau kondisi dipenuhi(1 kasus), atau memilih satu alternatif dari dua kemungkinan berdasarkan apakah syarat terpenuhi atau tidak (2 kasus).
• Bentuk 1 kasusif (syarat)
then aksiendif
NSyarat
Aksi
Y
Apabila syarat terpenuhi maka aksi dijalankan. Misalnya, pada contoh ini, nilai x akan ditambahkan 5 apabila nilainya lebih besar 100.
contoh :if(x > 100) then x ← x + 5endif
Bantuk 2 kasus
if(syarat)then aksi-1;
else aksi-2
endif
Syarat
Aksi - 1
Aksi - 2
Y
N
Apabila syarat dipenuhi maka "aksi-1" dilaksanakan, tetapi bila syarat tidak terpenuhi maka "aksi-2" yang dilaksanakan. Misal, pada contoh berikut ini, bila a lebih besar dari 0 maka akan ditampilkan "bilangan ini positif". selan itu akan ditampilkan "bilangan ini negatif".
Contoh :if(a > 0) then
write ("bilangan ini positif"); else
write("bilangan ini negatif");endif.
Bentuk bersusun (lebih dari satu syarat)
if(syarat-1) thenaksi-1;
elseif(syarat-2) thenaksi-2;
elseaksi-3;
endif.
Syarat 1 Syarat 1
aksi-1 aksi-2
aksi-3NN
Y Y
Contoh Algoritma if/elseIf/elseAlgoritma Pemilihan{contoh algoritma ini menerima 3 bilangan bulat kemudian menetapkan bilangan terbesar}Deinisi Variabel:
integer A,B,C,maks;Rincian Langkah :
write("masukkan bilangan 1 :");read(A);write("masukkan bilangan 2 :");read(B);write("masukkan bilangan 3 :");read(C);{proses seleksi}if(A>B)
then maks ← A;else maks ← B;
endif
{Lanjutan, dari sebelah}
if(C > maks) then maks ← C;
endif
write("Bilangan Maksimum= ", maks);
Code Program Pemilihan
#include <iostream.h>#include <conio.h>
main(){ int A,B,C,maks;
cout<<"Masukkan bilangan A : "; cin>>A; cout<<"Masukkan bilangan B : "; cin>>B; cout<<"Masukkan bilangan C : "; cin>>C; //proses seleksi
//proses seleksi if(A>B){ maks=A; } else { maks=B; }
if(C>maks){ maks=C; }
cout<<"Bilangan Maksimal Adalah : "<<maks<<endl; getch();}
Contoh Algoritma Pemilihan 2Algoritma Pemilihan_2{algoritma ini menerima 3 bilangan bulat kemudian menetapkan bilangan yang terbesar, memanfaatkan bentuk bersusun}Definis Variabel:
integer A,B,C,maks;Rincian Langkah :
write("masukkan bilangan 1 :");read(A);write("masukkan bilangan 2 : ");read(B);write("masukkan bilangan 3 : ");read(C);
Lanjutan Algoritma Pemilihan 2if(A > B)
then if(A > C)then write("Maksimum : ",A);else write("Maksimum : ",C);
endifelse if(B > C)
then write("Maksimum : ",B);else write("Maksimum : ",C);
endifendif
Program Algoritma Pemilihan 2
#include <iostream>
using namespace std;
int main(){ int A,B,C,maks; cout<<"Masukkan bilangan 1 : "; cin>>A; cout<<"Masukkan bilangan 2 : "; cin>>B; cout<<"Masukkan bilangan 3 : "; cin>>C;
if(A > B){ if(A > C){ cout<<"Maksimum Adalah A : "<<A; }else{ cout<<"Maksimum Adalah C : "<<C; } }else if(B > C){ cout<<"Maksimum B = "<<B; }else{ cout<<"Maksimum C = "<<C; }
return 0;}
INSTRUKSI CASE
• Digunakan sebagai instruksi pemilihan di mana aksi yang akan dilakukan bergantung pada nilai dari satu macam variabel.
• Bentuk Instruksi Case:case(variabel)
nilai-1 : aksi-1; break;nilai-2 : aksi-2; break;nilai-n : aksi-n; break;default : aksi-n;
endcase.
Contoh : • Gaji karyawan pada sebuah perusahaan didasarkan pada
jam kerja dalam satu bulan, serta posisi atau golonganya dalam perusahaan itu. Upah perjam menurut golongan adalah sebagai berikut :
Golongan Upah / Jam (Rp.)
A 5000
B 6000
C 7500
D 9000
Apabila karyawan bekerja lebih dari 150 jam per minggu, maka kelebihan jam kerja tersebut dihitung sebagai lembur dengan upah/jam 25% diatas upah reguler. Buatlah sebuah algoritma yang menerima nama, golongan, serta jam kerja, kemudian tampilkan gaji totalnya dalam satu bulan.
Algoritma Gaji_Karyawan{algoritma yg menerima nama,golongan,serta jam kerja kemudian menampilkan total gaji yg diterima karyawan}Definisi Variabel:
real gaji,total, jamkerja, lembur, upah;string nama;char golongan;
Rincian Langkah:write("Masukkan nama karyawan : ");read(nama);write("Masukkan golongannya : ");read(golongan);write("Masukkan jam kerjanya : ");read(jamkerja);
Lanjutan Algoritma Gaji_Karyawancase (golongan)
'A': upah ← 5000;'B': upah ← 6000;'C': upah ← 7500;'D': upah ← 9000;default : write("Golongannya salah !");
upah ← 0;endcaseif(jamkerja > 150)
then lembur←(jamkerja-150)*upah*1.25;gaji ← 150*upah;
else lembur ← 0;gaji ← jamkerja * upah;
endif
Lanjutan Algoritma Gaji_Karyawan
total← gaji + lembur;write("Gaji yang akan sdr terima = ",nama, " adalah = Rp. ", total);