1 / 49

Materi Pascal

Materi Pascal. PERULANGAN ( LOOPING ). Di dalam bahasa Pascal, dikenal tiga macam perulangan, yaitu dengan menggunakan pernyataan For, While-Do, dan Repeat…Until. 1. Struktur Perulangan For

marcy
Download Presentation

Materi Pascal

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Materi Pascal

  2. PERULANGAN ( LOOPING ) Di dalam bahasa Pascal, dikenal tiga macam perulangan, yaitu dengan menggunakan pernyataan For, While-Do, dan Repeat…Until. 1. Struktur Perulangan For Perulangan dengan pernyataan For digunakan untuk mengulang pernyataan atau satu blok pernyataan berulang kali sejumlah yang ditentukan. Perulangan dengan pernyataan For dapat berbentuk perulangan positif, perulangan negatif dan perulangan tersarang.

  3. LOOPING ( FOR ) • Perulangan positif. For variabel-kontrol:=nilai awal To nilai akhir Do pernyataan Contoh Var I:Integer; Begin For I:= 1 to 5 Do Writeln(‘Pascal’); End.

  4. LOOPING ( FOR ) • Perulangan negatif For variabel-kontrol:=nilai awal DownTo nilai akhir Do penyataan Contoh Var I:integer; Begin For I:=5 downto 1 do Begin Writeln(I); End; End.

  5. LOOPING ( FOR ) • Perulangan tersarang Perulangan tersarang adalah perulangan yang berbeda di dalam perulangan yang lainnya. Perulangan yang lebih dalam akan diproses terlebih dahulu sampai habis, kemudian perulangan yang lebih luar baru akan akan bertambah, mengerjakan perulangan yang lebh dalam lagi mulai dari nilai awalnya dan seterusnya.

  6. Contoh Var I,J:Integer; Begin For I:=1 to 5 Do Begin For j:=1 to 3 Do Begin Write(I:8,J:3); End; Writeln; End; • End. Bila program dijakankan akan menghasilkan: • 1 1 1 2 1 3 • 2 1 2 2 2 3 • 3 1 3 2 3 3 • 4 1 4 2 4 3 • 5 1 5 2 5 3

  7. LOOPING ( While ... Do ) • Struktur Perulangan While-Do Perulangan ini menggunakan pernyataan While—Do. Pernyataan While—Do digunakan untuk melakukan proses perulangan suatu pernyataan atau blok pernyataan terus-menerus selama kondisi ungkapan logika pada While masih bernilai logika benar. BU : While kondisi ungkapan Do Pernyataan

  8. Contoh Var I:Integer; Begin I:=0; While I<5 Do Begin Writeln(I); I:=I+1; End; End. Bila program dijalankan akan menghasilkan: 0 1 2 3 4

  9. LOOPING ( Repeat ... Until ) • Struktur Repeat...Until Struktur Repeat…Until digunakan untuk mengulang pernyataan-pernyataan atau blok pernyataan sampai kondisi yang diseleksi di Until terpenuhi. Bentuk mumnya adalah: Repeat pernyataan Until

  10. Contoh Var I:Integer Begin I:=0; Repeat I:=I+1; Writeln(I); Until I=5; End. Bila program dijalankan akan menghasilkan: 1 2 3 4 5

  11. Penyeleksian Kondisi • Dengan menyeleksi suatu kondisi, program dapat menentukan tindakan apa yang harus dikerjakan, bergantung dari hasil kondisi yang diseleksi tersebut. Untuk menyeleksi suatu kondisi, di dalam bahasa Pascal dapat dipergunakan pernyataan IF dan CASE.

  12. Penyeleksian Kondisi ( IF ) • Pernyataan IF Strukturpernyataan IF dapatberupa If—Then atau If—Then—Else dengan bentuk umum: If ungkapan Then pernyataan • Ungkapan adalah kondisi yang akan diseleksi oleh pernyataan If. Bila kondisi yang diseleksi terpernuhi, maka pernyataan yang mengikuti Then akan diproses. Sebaliknya, bila kondisi tidak terpenuhi, maka yang akan diproses adalah pernyataan berikutnya

  13. Contoh Var Nilai:ral; Ket : string[11]; Begin Ket:’Tidak Lulus’; Write(‘Nilai Ujian = ‘); Readln(Nilai); {Penyeleksian kondisi} If Nilai>60 Then Ket:=’Lulus’; Writeln(Ket); End.

  14. Penyeleksian Kondisi ( IF ) If kondisi Then pernyataan1; Else pernyataan2; • Pernyataan1 akan diproses apabila kondisi benarn(terpenuhi) sedang pernyataan2 akan diproses apabila kondisi tidak terpenuhi.

  15. Contoh Var Nilai:Real; Begin Writeln(‘Nilai Ujian = ‘); Readln(Nilai); If Nilai>60 Then Writeln(‘Lulus’); Else Writeln(‘Tidak Lulus’); End.

  16. Penyeleksian Kondisi ( Case ) • Pernyataan Case Pernyataan Case dapat berbentuk struktur Case—Of atau Case—Of…. Else. Struktur Case—Of mempunyai suatu ungkapan logika yang disebut dengan selector dan sejumlah pernyataan yang diawali dengan suatu label permasalahan yang mempunyai tipe sama dengan selector. Pernyataan yangmempunyai label permasalahan yang bernilai sama dengan nilai selector akan diproses sedang pernyataan yang lainnya tidak.

  17. Penyeleksian Kondisi ( Case ) • Bentukdaristruktor Case—Of adalah: Case ungkapan Of daftar case-label1:pernyataan1; daftar case-label2:pernyataan2; daftar case-label3:pernyataan3; . daftar case-labeln:pernyataann; End; • Daftar case label (label permasalahan) dapat berupa konstanta, atau range (himpunan) dari konstanta yang bukan bertipe real.

  18. Contoh Var Nilai:Char; Begin Writeln(‘Nilai huruf yang didapat = ‘);Readln(Nilai); Case Nilai of ‘A’:Writeln(‘Sangat Baik’); ‘B’:writeln(‘Baik’); ‘C’:Writeln(‘Cukup’); ‘D’:Writeln(‘Kurang’); ‘E’:Writeln(‘Gagal’); End; End.

  19. Penyeleksian Kondisi ( Case ) • Struktur Case—Of…Else merupakan pengembangan dari struktur Case—Of dan juga merupakan pengembangan dari standar Pascal. Pada struktur Case—Of bila tidak ada kondisi yang terpenuhi berarti tidak ada pernyataan dilingkungan Case—Of yang diproses. Dengan struktur Case—Of…Else, bila Tidakada kondisi yang terpenuhi, maka pernyataan yang akan diproses di dalam lingkungan Case—Of adalah pernyataan yang ada di Else.

  20. Contoh Var Bersih,Beli,potong:Integer; Begin Writeln(‘Total Pembelian = ‘); Readln(beli); Case Beli of 0..1000:potong:=100; 1001..5000:potong:=200; Else potong:=500; End; Bersih:=beli-ptong; Writeln(‘Potongan = ‘, potongan); Writeln(‘Jumlah Bersih = ‘, Bersih); End.

  21. Procedure • Prosecure adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram (program bagian). Prosedur diawali dengan kata cadangan Procedure di dalam bagian deklarasi prosedur. Prosedur dipanggil dan digunakan di dalam blok program yang lainnya dengan menyebutkan judul prosedurnya.

  22. Procedure • Prosedur banyak digunakan pada program yang terstruktur, karena: 1. Merupakan penerapan konsep program modular, yaitu memecah-mecah program yang rumit menjadi program-program bagian yang lebih sederhana dalam bentuk prosedur-prosedur. 2. Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waltu bila diperlukan.

  23. Contoh prosedur tanpa acuan Procedure Hitung; Var x,y:real; Begin Writeln(‘Nilai x: ‘); Readln(x); Y:=x*x; Writeln(‘Nilai Y= ‘, y:6;2); End; Begin Hitung; End.

  24. Contoh prosedur secara acuan Procedure Hitung(var a,b,c); Begin C:=a+b; Writeln(c); End; Var X,y,z:integer; Begin X:=2;Y;=3; Hitung(x,y,z); End.

  25. Function • Fungsi hampir sama dengan prosedur, hanya fungsi harus dideklarasikan dengan tipenya. Tipe deklarasi ini menunjukkan tipe hasil dari fungsi. Tipe tersebut ditulis pada akhir deklarasi fungsi yang didahului dengn titik koma, sebagai berikut. Function namafungsi(daftar_parameter):type;

  26. Contoh Function Hitung(Var A,B : integer): integer; Begin Hitung := A + B; End; Var X,Y : integer; Begin Write(‘Nilai X ? ‘); Readln(X); Write(‘Nilai Y ? ‘); Readln(Y); Writeln; Writeln(X,’ + ‘,Y,’ =‘,Hitung(X,Y)); End.

  27. Perbedaan fungsi dengan prosedur 1. Pada fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya (kalau pada prosedur pada parameter yang dikirimkan secara acuan). 2. Karena nilai balik berada di nama fungsi tersebut, maka fungsi tersebut dapat langsung digunakan untuk dicetak hasilnya Atau nilai fungsi tersebut dapat juga langsung dipindahkan ke pengenal variabel yang lainnya

  28. Rekursif • Suatu fungsi atau prosedur dalam bahasa Pascal dapat bersifat rekursif. Artinya, fungsi atau prosedur tersebut dapat memanggil dirinya sendiri. • Berikut ini sebuah contoh fungsi dan prosedur yang rekursif.

  29. function faktorial (nilai : integer) : integer; begin if nilai <= 0 then faktorial := 1; else faktorial := nilai * faktorial (nilai-1) end; Var N : integer; Begin Write(‘Berapa faktorial ? ‘); Readln(N); Writeln(N,’ faktorial = ‘,faktorial(N):9:0); End.

  30. Function fibonacci ( n : integer ) : integer; Begin If n = 0 then fibonacci := 0 Else If n := 1 then fibonacci := 1 Else fibonacci := fibonacci (n-1) + fibonacci (n-2); End; Var N : integer; Begin Write(‘Berapa banyak ? ‘); Readln(N); fibonacci(n); End.

  31. Procedure reverse ( num : integer ); Begin If num < 10 then write(num) Else begin Write(num mod 10); Reverse(num div 10); End; End; Var N : integer; Begin Write(‘Berapa nilai ? ‘); Readln(N); reverse(n); End.

  32. Array ( Larik ) • Array Satu Dimensi • Array Dua Dimensi

  33. Array SatuDimensi Array adalah sekumpulan data yang bertipe sama, yang anggota-anggotanya dapat diakses berdasarkan nomor indeks. Misalnya ada 26 huruf, kita sebut saja array Abjad, adalah sekumpulan 26 buah karakter yang berisi nama-nama abjad latin. Anggota pertama adalah ‘A’, anggota kedua adalah ‘B’ dan seterusnya hingga anggota ke 26 adalah ‘Z’.

  34. Dalam notasi algoritma kita tuliskan : Abjad : array [1..26] of character Pemberian nilainya bisa dilakukan dengan cara, pertama pengisian satu-satu berdasarkan nomor indeks : Abjad [1]  ‘A’ Abjad [2]  ‘B’ dst sampai Abjad [26]  ‘Z’ • Dalam notasi algoritma , indeks array dimulai dari 1, artinya jika kita punya array dengan 26 anggota, indeksnya mulai dari 1,2,3…sampai 26.

  35. Berikut penulisan array dengan menggunakan turbo Pascal: Abjad : array [1..26] of char; Contoh pemberian nilai untuk array diatas dengan menggunakan bahasa Pascal adalah : Abjad [1] := ‘A’; Abjad [2] := ‘B’ dst sampai Abjad [26] := ‘Z’

  36. Contoh 1.1 Program Nama_array; Uses winrt; Type nameType = String[50]; ageType =0..150;{ age range: from 0 to 150 } Var name : nameType; age : ageType; Begin Write('Enter your name: '); Readln(name); Write('Enter your age: '); Readln(age); Writeln; Writeln('Your name:', name); Writeln('Your age :', age); Readln; End.

  37. Contoh 1.2 Program P002; uses wincrt; var abjad : array [1..50] of char; i,maks : integer; begin clrscr; write ('Masukan jumlah data karakter : '); readln(maks); for i:=1 to maks do begin write ('Masukan karakter ke ',i,' : '); readln(abjad[i]); end; write ('Karakter yang dinput : '); for i:=1 to maks do begin write (abjad[i],’ ‘); end; readln; end.

  38. Contoh 1.3 Program P003; uses wincrt; var angka:array [1..50] of integer; i,maks:integer; begin clrscr; write ('Masukan jumlah data : '); readln(maks); for i:=1 to maks do begin write ('Masukan angka ke ',i,' : '); readln(angka[i]); end; write ('Angka yang dinput : '); for i:=1 to maks do begin write(angka[i]); end; readln; end.

  39. Contoh 1.4 Program Contoh_Deklarasi_Array_Beragam; Uses winCrt; Var NPM:array[1..20] of string[10]; Nama :array[1..20] of string[25]; Nilai : array[ 1. .20] of real; Umur : array[1 . .20] of byte; banyak,i : integer; Begin ClrScr; Write('Isi berapa data array yang diperlukan :'); Readln(banyak); For i := 1 to banyak Do Begin Write('NPM =');Readln(NPM[i]); Write('Nama =');readln(Nama[i]); Write('Nilai=');readln(Nilai[i]); Write('Umur =');readln(Umur[i]); End; {cetak varibel array} Writeln('NPM NAMA NILAI UMUR '); For i:= 1 to banyak Do Begin Writeln(Npm[i]:1 0,Nama[i] :25,Nilai[i] :3:2,' ',Umur[i] :3); End; Readln; End.

  40. Studi Kasus : Buat sebuah program perhitungan nilai akhir 5 orang mahasiswa ? Input : nama, tugas, quiz, uts, dan uas Proses : nilai = 10%*tugas + 20%*quiz + 30%*uts+ 40%*uas. Output : nama, dan nilai ditampilan menurut index

  41. Program Studi_Kasus; Uses wincrt; Var Nama:array[1..5]of string; I,Tugas,Quiz,UTS,UAS:integer; Nilai:array[1..5]of real; Begin for I:=1 to 5 do begin Clrscr; write('Masukan Nama : ');readln(Nama[I]); write('Masukan Tugas : ');readln(Tugas); write('Masukan Quis : ');readln(Quiz); write('Masukan UTS : ');readln(UTS); write('Masukan UAS : ');readln(UAS); Nilai[I]:=0.1*Tugas+0.2*Quiz+0.3*UTS+0.4*UAS; end; Clrscr; for I:=1 to 5 do writeln('Nama : ',Nama[I],' mendapat nilai :',nilai[i] :5:2); readln; End. Jawaban.

  42. Array Dua Dimensi Di dalam pascal Array dapat berdimensi lebih dari satu yang disebut dengan array dimensi banyak (Multidimensional array). Array 2 dimensi dapat mewakili suatu bentuk tabel atau matrik, yaitu indeks pertama menunjukkan baris dan indeks ke dua menunjukkan kolom dari tabel atau matrik.

  43. Contoh Bentuk Tampilan Let us have the 2 dimensional array defined first. Think of a grid where each box is located by using horizontal and vertical coordinates just in the example below: An example of a 5 by 5 2D array illustrated on a grid

  44. Having the vertical axis as the 1st dimension and the horizontal one as the 2nd dimension, the above example is illustrated as follows:

  45. Contoh 2.1 Program Deklarasi_Array_Dua_Dimensi; Uses Wincrt; Var Tabel : Array[1..3,1..2] of Integer; i,j : Integer; Begin ClrScr; Tabel[1,1] :=1; Tabel[1,2] :=2; Tabel[2,1] :=3; Tabel[2,2] :=4; Tabel[3,1] :=5; Tabel[3,2] :=6; For I := 1 to 3 Do Begin For J:= 1 to 2 Do Begin Writeln('Elemen ',i,',',j ,'= ',tabel[i,j]); End; End; End.

  46. Contoh 2.2 Program penjumlahan_matrik; Uses Wincrt; Var Matrik1,Matrik2, Hasil : Array[1..3,1..2] of Integer; i,j : Integer; Begin ClrScr; { input matrik ke satu } Writeln(' Elemen matrik satu'); For i := 1 to 3 Do Begin For j := 1 to 2 Do Begin Write('Elemen baris -',i,' Kolom -',j,'= '); Readln(matrik1 [i,j]); End; End;

  47. Contoh 2.2 cont… {input matrik ke dua} Writeln('input elemen matrik dua'); For i:= 1 to 3 Do Begin For j:= 1 to 2 Do Begin Write('Elemen baris -',i,' kolom -',j,'= '); Readln(matrik2 [i,j]); End; End;

  48. Contoh 2.2 cont… {proses penjumlahan tiap elemen} For i := 1 to 3 Do Begin For j:= 1 to 2 Do Begin Hasil[i,j] :=Matrik1 [i,j]+Matrik2[i,j]; End; End;

  49. Contoh 2.2 cont… {proses cetak hasil} For i:= 1 to 3 Do Begin For j:= 1 to 2 Do Begin Write(Hasil[i,j] :6); End; Writeln; End; Readln; End.

More Related