PERNYATAAN IF THEN ELSE & CASE OF PERULANGAN FOR, WHILE DO, REPEAT UNTIL Fisika UNDANA, Senin 16 Oktober 2017
STATEMEN IF ... THEN ... Bentuk struktur If ... Then ... adalah sebagai berikut: Jika kondisi bernilai benar maka statemen akan dikerjakan. Jika kondisi bernilai salah maka statemen tidak akan dikerjakan. IF kondisi THEN statemen
Contoh program if ... then ...: Jika program dijalankan, maka hasilnya: (silahkan dicoba) program lulus; uses wincrt; var nilai: real; begin write ('jumlah nilai :'); readln (nilai); if nilai > 60 then writeln('lulus'); end. jumlah nilai: 61 lulus
STATEMEN IF ... THEN ... ELSE ... Bentuk statemen tersebut adalah sebagai berikut: Perintah ini berguna untuk memilih statemen mana yang akan dikerjakan oleh komputer berdasarkan kondisi/syarat yang diberikan. Jika kondisi bernilai benar maka statemen1 akan dikerjakan. Jika kondisi bernilai salah maka statemen2 yang akan dikerjakan. IF kondisi THEN statemen1 ELSE statemen2;
Contoh program if. then. else Contoh program if ... then ... else ... : Jika program dijalankan, maka hasilnya: (silahkan dicoba) uses wincrt; var nilai: real; begin write ('jumlah nilai :'); readln (nilai); if nilai > 60 then writeln('lulus’) else writeln(‘tidak lulus’); end. jumlah nilai: 60 tidak lulus
STATEMEN CASE ... OF ... Bentuk struktur Case ... Of ... adalah sebagai berikut: Daftar case of dapat berupa sebuah konstanta atau range konstanta yang bukan bertipe real. Contoh penulisan daftar case of: 1: (nilai integer 1) 1,2,3: (nilai integer 1,2,3) 1..4; (nilai integer 1,2,3,4) ‘A’: (nilai karakter A) ‘A’,’B’: (nilai karakter A,B) ‘A’..’C’: (nilai karakter A,B,C) ‘*’: (nilai karakter *) case kondisi of daftar case label 1: statemen1; daftar case label 2: statemen2; daftar case label 3: statemen3; ... end;
Contoh program case ... of ... : uses wincrt; var nilai: char; begin write (bobot yang diperoleh:'); readln (nilai); case nilai of ‘A’: writeln(‘sangat baik’); ‘B’: writeln(‘baik’); ‘C’: writeln(‘cukup’); ‘D’: writeln(‘kurang’); ‘E’: writeln(‘sangat kurang’); end. Jika program dijalankan, maka hasilnya: bobot yang diperoleh: B baik
STATEMEN CASE ... OF ... ELSE ... Bentuk struktur Case ... Of ... Else ... adalah sebagai berikut: Dalam struktur Case ... Of ... Else, jika tidak ada kondisi yang terpenuhi maka statemen yang akan diproses ada statemen yang berada di Else case kondisi of daftar case label 1: statemen1; daftar case label 2: statemen2; daftar case label 3: statemen3; ... else daftar case label n: statemen n; end;
Contoh program case ... of ... else ... : uses wincrt; var pilihan: integer; begin writeln ('Silakan dipilih:'); writeln (‘1. menghitung luas lingkaran'); writeln (‘2. menghitung luas segitiga’); writeln (‘3. menghitung luas bujur sangkar'); write ('Pilihan= '); readln(pilihan); clrscr; case pilihan of 1 : writeln (‘anda memilih luas lingkaran’); 2 : writeln (‘anda memilih luas segitiga '); 3 : writeln (‘anda memilih luas bujur sangkar '); else writeln('Pilihannya hanya 1, 2, atau 3'); end; End.
STRUKTUR PERULANGAN FOR
Perulangan positif Perulangan positif adalah perulangan dengan penghitung dari kecil ke besar. Perulangan positif dapat dibentuk dengan menggunakan statemen For - To – Do Bentuk umum: for variabel_kontrol := nilai_awal to nilai_akhir do statemen Variabel_kontrol, nilai_awal, nilai_akhir harus mempunyai tipe yang sama yaitu bertipe integer.
Contoh program perulangan positif: Jika program dijalankan, maka hasilnya: (silahkan dicoba) uses wincrt; var i: integer; begin for i:=1 to 5 do writeln(‘pascal’); end.
Dengan blok statemen, artinya statemen yang diulang dapat lebih dari satu statemen. Contoh program perulangan positif: Jika program dijalankan, maka hasilnya: (silahkan dicoba) uses wincrt; var i: integer; begin for i:=1 to 5 do write(i); writeln(‘pascal’); end; end. Blok statemen
Jika program ini dijalankan, maka akan didapat hasil: 12345 pascal Bandingkan contoh program sebelumnya dengan program berikut ini yang tidak menggunakan blok statement! Jika program ini dijalankan, maka akan didapat hasil: 12345 pascal Statemen yang akan diulang adalah statemen yang pertama saja dan statemen berikutnya tidak termasuk dalam perulangan karena tidak dalam bentuk blok statemen. uses wincrt; var i: integer; begin for i:=1 to 5 do write(i); writeln(‘ pascal’); end.
Buatlah tabel yang berisi nilai X dari 1 sampai 10 dan nilai X kuadrat, X pangkat tiga, serta 1/X.
Perulangan negatif Perulangan negatif adalah perulangan dengan penghitung dari besar ke kecil. Perulangan negatif dapat dibentuk dengan menggunakan statemen For - DownTo – Do Bentuk umum: for variabel_kontrol := nilai_awal downto nilai_akhir do statemen
Contoh program perulangan negatif: Jika program ini dijalankan, akan didapatkan hasil: 5 4 3 2 1 uses wincrt; var i: integer; begin for i:=5 downto 1 do writeln(i); end.
Perulangan tersarang Perulangan tersarang adalah perulangan yang berada di dalam perulangan yang lainnya. Contoh: Hasil: uses wincrt; var i,j: integer; begin for i:=1 to 5 do for j:=1 to 3 do writeln(i:8,j:3); writeln end; end.
STRUKTUR PERULANGAN WHILE-DO
STRUKTUR PERULANGAN WHILE-DO Statemen While-Do digunakan untuk melakukan proses perulangan suatu statemen atau blok statemen terus-menerus selama kondisi ungkapan logika pada while masih bernilai logika benar. Contoh: uses wincrt; var i,j: integer; begin i:=0; while i<5 do writeln(i); i:=i+1; end; end. 1 2 3 4
Contoh program (while11.pas): Program untuk menghitung nilai rata-rata dari sejumlah data yang akan dimasukkan. Jumlah data dimasukkan dan akan dilakukan perulangan sebanyak jumlah data tersebut untuk menanyakan nilai masing-masing data dan menghitung totalnya.
write(‘akan menghitung lagi (Y/T)?’); readln(lagi); STRUKTUR PERULANGAN WHILE-DO TERSARANG Perulangan while-do tersarang merupakan perulangan while-do yang satu di dalam perulangan while-do yang lainnya. Contoh program (while14.pas) while lagi = ‘Y’ do begin ... while i<N do i:=i+1; end; write(‘akan menghitung lagi (Y/T)?’); readln(lagi);
STRUKTUR PERULANGAN REPEAT UNTIL
STRUKTUR PERULANGAN REPEAT-UNTIL Struktur repeat-until digunakan untuk mengulang statemen-statemen atau blok statemen sampai kondisi yang diseleksi (di until) tidak terpenuhi. Pada repeat-until tidak diperlukan begin dan end untuk menunjukkan batas perulangannya (tidak menggunakan blok statemen) karena batas perulangannya sudah ditunjukkan oleh repeat sampai dengan until Dengan kata lain, repeat dan until sebagai pengganti begin dan end.
Contoh program perulangan repeat-until: Jika program dijalankan, maka hasilnya: (silahkan dicoba) uses wincrt; var i: integer; begin i:=0; repeat i:=i+1; writeln(i); until i:=5; end.
Struktur perulangan repeat-until tersarang Contoh program: Program untuk menampilkan tabel hubungan antara nilai-nilai sisi dari segitiga siku-siku C=A2+B2 tabel yang dihasilkan berupa nilai panjang sisi miring C untuk nilai sisi A dari 1 sampai dengan 3 (kelipatan 1) dan untuk sisi b dari 0 sampai dengan 25 (kelipatan 5)
Contoh program perulangan repeat-until (repeat.pas): uses wincrt; var A,B,C: real; begin writeln (‘sisi A sisi B sisi C’); writeln (‘--------------------------’); A:=1; repeat B:=0; C:=sqrt(A*A + B*B); writeln(A:6:2, B:9:2, C:9:2); B:=B+5; until B>25; A:=A+1; until A>3; end.