Algoritma 1 pertemuan 6
-
Upload
adekurnia-solihin -
Category
Documents
-
view
48 -
download
10
Transcript of Algoritma 1 pertemuan 6
Menggunakan konstruksi IF-THEN (jika-maka) dalam bentuk pernyataan :
Ingatlah bahwa aksi sesudah kata then akan dikerjakan hanya jika kondisi bernilai true.
if kondisi thenaksi
endif
PROGRAM Genap {mencetak pesan “bilangan genap” jika sebuah
bilangan bulat yang dibaca dari piranti masukan merupakan bilangan genap}
DeklarasiX : integer
ALGORITMARead (x)If x mod 2 = 0 then write (‘genap’)endif
Menggunakan konstruksi IF-THEN-ELSE (jika-maka-kalau tidak) dalam bentuk pernyataan:
Aksi1 akan dilaksanakan jika kondisi bernilai benar, tetapi jika kondisi bernilai salah, maka aksi2 yang akan dilaksanakan.
if kondisi thenaksi1
elseaksi2
endif
Program upah_karyawanDeklarasi
Const Jamnormal = 8Const Upahperjam = 2000Const Upah lembur = 3000Nama : string {nama karyawan}Jjk : integer {jumlah jam kerja}Lembur : real {jumlah jam lembur}Upah :real {upah karyawan }
Algoritma: Read ( nama, jjk )If jjk <= jam normal then
Upah := jjk * upahperjamElse
Lembur := jjk – jam normalUpah := jamnormal * upahperjam + lembur * upahlembur
EndifWrite (nama, upah)
Masalah yang mempunyai tiga buah kasus atau lebih tetap dapat dianalisis dengan struktur IF-THEN-ELSE sebagaimana halnya pada masalah dengan dua kasus
if kondisi1 then aksi1else if kondisi2 then aksi2 else if kondisi3 then aksi3 endif endifendif
if kondisi1 then aksi1else if kondisi2 then aksi2 else if kondisi3 then aksi3 else if kondisi4 then aksi4 endif endif endifendif
Contoh menentukan wujud air Tuliskan algoritma yang membaca termperatur air, T, (dalam satuan derajat celcius) pada tekanan normal, lalu menentukan apakah wujud air tersebut dalam keadaan padat (T < 0 ), cair (0<T<100), atau gas (T>100).
Penyelesaian Misalkan suhu air adalah T Analisis kasus
Kasus 1, jika T < 0, maka air berwujud padat Kasus 2, jika 0 < T < 100, maka air berwujud cair Kasus 3, jika T > 100, maka air berwujud uap
PROGRAM WujudAir. ( Menentukan wujud air: padat, cair, atau gas, bergantung pada suhunya )
DEKLARASI T : real (suhu air, dalam derajat celcius)
ALGORITMA read(T)
if T > 0 then write(‘padat’); else if (T > 0) and (T < 100) then write(‘cair’) else
if T > 100 then write(‘gas atau uap’)
endif endif
endif
Menentukan bilangan terbesar dari 3 bilangan bulat dengan membaca 3 bilangan tersebut
PROGRAM MaksimunDeklarasiA, B, C, maks : integer
AlgoritmaRead(A,B,C)If A>B then
maks = Aelse
maks = Bend ifIf C> maks then
maks = Cendif
Write(maks)
program ifTigaKasus; var bil:integer; begin
write('masukan sebuah bilangan'); readln(bil); if (bil<0) then
begin writeln(bil,' merupakan bilangan NEGATIF');
end else if (bil=0) then begin
writeln(bil,' merupakan bilangan NOL'); end else begin
writeln(bil,' merupakan bilangan POSITIF'); end;
end.
Struktur CASE dapat digunakan untuk menganalisis penyeleksian dua kasus atau lebih dan bentuknya adalah lebih sederhana dari pada struktur IF-THEN-ELSE yang memiliki bentuk bertingkat-tingkatKondisi1, kondisi2, … kondisiN dapat bernilai benar atau salah. Tiap kondisi diperiksa nilai pertama sampai ditemukan kondisi yang benar.
Jika kondisi ke-k benar, maka aksi ke-k dilaksanakan, selanjutnya keluar dari struktur CASE
Aksi yang dipasangkan dengan kondisi ke-k dapat lebih dari satu, karena itu ia berupa runtunan
Jika tidak ada satupun kondisi yang benar, maka aksi sesudah otherwise (optional) dikerjakan.
case (nama)kondisi : aksi1kondisi2 : aksi2kondisi3 : aksi3 . . .kondisiN : aksiN[otherwise aksiX]
endcase
Buatlah algoritma yang membaca sebuah angka bulat yang nilainya terletak antara 1 sampai 4, lalu menuliskan ke piranti keluaran angka tersebut dalam kata-kata. Misalkan bila dibaca angka 1, maka tercetak tulisan “satu”, bila dibaca 2, maka tercetak tulisan “dua”, demikian seterusnya. Jika angka yang dimasukkan selain 1 sampai 4 tuliskan pesan bahwa angka yang dimasukkan salah.
Contoh 2: Contoh 2: Buatlah algoritma untukBuatlah algoritma untuk menentukan nama bulan berdasarkan pada menentukan nama bulan berdasarkan pada nomor bulannya.nomor bulannya.Algoritma NAMA_BULAN{ Mencetak nama bulan berdasarkan nomor bulannya }
DEKLARASIAngkaBulan : integer { 1..12 }
DESKRIPSI :read(AngkaBulan)case(AngkaBulan)
AngkaBulan=1 : write(‘Januari’)AngkaBulan=2 : write(‘Februari’)AngkaBulan=3 : write(‘Maret’)AngkaBulan=4 : write(‘April’)AngkaBulan=5 : write(‘Mei’)AngkaBulan=6 : write(‘Juni’)AngkaBulan=7 : write(‘Juli’)AngkaBulan=8 : write(‘Agustus’)AngkaBulan=9 : write(‘September’)AngkaBulan=10 : write(‘Oktober’)AngkaBulan=11 : write(‘Nopember’)AngkaBulan=12 : write(‘Desember’)
otherwise write(‘Bukan nomor bulan yang benar’)endcase
program NAMA_BULAN;{ Mencetak nama bulan berdasarkan nomor bulannya }(* DEKLARASI *)var
AngkaBulan : integer;(* DESKRIPSI *)begin
write(‘Masukkan angka bulan (1 – 12) : ‘);readln(AngkaBulan);case AngkaBulan of 1 : writeln(‘Januari’); 2 : writeln(‘Februari’); 3 : writeln(‘Maret’); 4 : writeln(‘April’); 5 : writeln(‘Mei’); 6 : writeln(‘Juni’); 7 : writeln(‘Juli’); 8 : writeln(‘Agustus’); 9 : writeln(‘September’); 10 : writeln(‘Oktober’); 11 : writeln(‘Nopember’); 12 : writeln(‘Desember’);else writeln(‘Bukan nomor bulan yang benar’);end;
end.
Tidak semua bahasa pemrograman menyediakan struktur CASE (misalnya Bahasa Fortran). Bahasa Pascal dan C menyediakan struktur ini. Jika bahasa pemrograman tidak menyediakan struktur CASE, maka struktur CASE dapat diganti dengan struktur IF-THEN-ELSE yang ekivalen
AlgoritmaPengertian algoritmaPersyaratan membuat algoritma
ProgramPengertian programPersyaratan membuat program
Tipe dataIdentifier, variabel, konstanta, operator dan ekspresi numerikPengertian flowchartProgram flowchartRuntunan (sequence)Pemilihan (selection) satu kasusPemilihan (selection) dua kasusPemilihan tiga kasus atau lebihNested repetisionStruktur case