Showing posts with label PASCAL. Show all posts
Showing posts with label PASCAL. Show all posts

Friday, December 21, 2018

Pemantapan Program PASCAL

Pemantapan Program PASCAL

Pada pemantapan PASCAL saya akan mengshare ke anda contoh-contoh pemrograman pascal yang bisa untuk kalian explore lebih dalam. 

Contoh Program PASCAL mencari bilangan biner :
 
PROGRAM binary_search; 
{Program to search a number using binary search} 
USES crt; 
TYPE index=1..100;
VAR  
arr:ARRAY[1..100] OF index;  
VAR  mid,low,high,search:integer;       
i,n:index;       
found:boolean; 
BEGIN       
clrscr;       
writeln('BINARY SEARCH');       
writeln('Enter the array size');       
readln(n);       
writeln('Enter the array elements');
FOR i:=1 TO n DO       
BEGIN            
readln(arr[i]);       
END;       
writeln('Enter the search element');       
readln(search);       
low:=1;      
high:=n;       
found:=false;       
REPEAT             
mid:=trunc(low+high) DIV 2;             
IF (search<arr[mid]) THEN             
high:=mid-1;             
IF (search>arr[mid]) THEN             
low:=mid+1;            
IF (search=arr[mid]) THEN             
found:=true             
ELSE             
found:=false;       
UNTIL ((found=true) OR (high<low));       
IF found=true THEN writeln('ELEMENT FOUND')       
ELSE writeln('ELEMENT NOT FOUND');  
END. 


Pemantapan Program PASCAL
hasil coding , pada contoh saya menginput jumlah array 2, dan array 1 saya input 3 array 2 saya input 4 . lalu saat search saya menginput 4 jika 4 merupakan bagian dari array maka akan tertulis ELEMENT FOUND .


Contoh program pascal mencari bilangan linear :

PROGRAM linear_search; {Program to search a number using linear search} 
USES crt; 
TYPE index=1..100; 
VAR n,searchkey,i:integer;      
found:boolean;      
arr:ARRAY[1..100] OF index; 
BEGIN       
writeln('LINEAR SEARCH');       
writeln('Enter the boundary of the array');       
readln(n);       
writeln('Enter the array elements');       
FOR i:=1 TO n DO       
BEGIN            
readln(arr[i]);       
END;       
i:=1;       
found:=false;       
writeln('Enter the search element');       
readln(searchkey);       
WHILE ((i<=n) AND (found=false)) DO       
BEGIN            
IF arr[i]=searchkey THEN            
found:=true            
ELSE found:=false;            
i:=i+1;       
END;       
IF found=true THEN       
writeln('ELEMENT FOUND')      
ELSE       
writeln('ELEMENT NOT FOUND');  
END. 

pascal linear
hasil coding , pada contoh saya menginput jumlah array 3, dan array 1 saya input 2 array 2 saya input 1 array 3 saya input 3 . lalu saat search saya menginput 4 jika 4 merupakan bagian dari array maka akan tertulis ELEMENT FOUND jika tidak .


Contoh program pascal membuat gelembung angka 0 dengan array :

PROGRAM bubble_sort; 
uses crt;
CONST items=100; 
VAR n,temp,pass,index:integer;      
sorted:boolean;      
vector:ARRAY[1..items] of integer; 
PROCEDURE sort; 
BEGIN       
pass:=1;       
REPEAT             
sorted:=true;             
FOR index:=1 TO items-pass DO             
BEGIN                  
IF vector[index]>vector[index+1] THEN                  
BEGIN                       
sorted:=false;                       
temp:=vector[index];                       
vector[index]:=vector[index+1];                       
vector[index+1]:=temp;                  
END;             
END;             
pass:=pass+1;       
UNTIL sorted;  
END; 
BEGIN      
writeln('How many elements');       
readln(n);       
writeln('Enter the unsorted elements');       
index:=1;       
REPEAT       
readln(vector[index]);       
index:=index+1;       
UNTIL index=n+1;       
sort;       
writeln('Sorted Data');       
FOR index:=1 TO items DO       
BEGIN            
IF ((index-1) MOD 10)=0 THEN writeln;            
writeln(vector[index]:4);       
END;       
writeln('Total number of passes=> ',pass);       
writeln;  
END. 

Pemantapan Program PASCAL
hasil coding , akan terlihat hasil gelembung 0 dengan sesuai array yang kita inputkan



Contoh program pascal membuat urutan nos angka sesuai inputan array:

PROGRAM insertion_sort; {Program to sort the given nos using insertion sort} 
USES crt; 
VAR a:ARRAY[1..100] of real; 
VAR temp:real;      
i,j,n:integer; 
BEGIN       
clrscr;       
writeln('Enter the boundary of the array');       
readln(n);       
writeln('Enter the elements of the array');       
FOR i:=1 TO n DO       
BEGIN            
readln(a[i]);       
END;       
FOR i:=2 TO n DO       
BEGIN            
j:=i-1;           
WHILE ((j>=1) AND (a[j+1]<a[j])) DO            
BEGIN                 
temp:=a[j];                 
a[j]:=a[j+1];                 
a[j+1]:=temp;                 
j:=j-1;            
END;       
END;       
writeln('The sorted elements are as follows');       
FOR i:=1 TO n DO       
writeln(a[i]);  
END. 

Pemantapan Program PASCAL
hasil coding


Contoh program pascal membuat urutan angka seperti fibonanci acak:

Program QSort;  {$R-,S-}  
uses Crt; 
{ This program demonstrates the quicksort algorithm, which      }  
{ provides an extremely efficient method of sorting arrays in   }  
{ memory. The program generates a list of 1000 random numbers   }  
{ between 0 and 29999, and then sorts them using the QUICKSORT  }  
{ procedure. Finally, the sorted list is output on the screen.  }  
{ Note that stack and range checks are turned off (through the  }  
{ compiler directive above) to optimize execution speed.        } 

const    
Max = 1000; 
type    
List = array[1..Max] of Integer; 
var    
Data: List;    
I: Integer; 
{ QUICKSORT sorts elements in the array A with indices between  }  
{ LO and HI (both inclusive). Note that the QUICKSORT proce-    }  
{ dure provides only an "interface" to the program. The actual  }  
{ processing takes place in the SORT procedure, which executes  }  
{ itself recursively.                                           } 

procedure QuickSort(var A: List; Lo, Hi: Integer); 
procedure Sort(l, r: Integer);  
var    
i, j, x, y: integer;  
begin    
i := l; j := r; 
x := a[(l+r) DIV 2];    
repeat      
while a[i] < x do i := i + 1;      
while x < a[j] do j := j - 1;      
if i <= j then      
begin        
y := a[i]; 
a[i] := a[j]; 
a[j] := y;        
i := i + 1; 
j := j - 1;      
end;    
until i > j;    
if l < j then Sort(l, j);    
if i < r then Sort(i, r);  
end; 

begin {QuickSort};    
Sort(Lo,Hi);  
end; 

begin {QSort}    
Write('Now generating 1000 random numbers...');    
Randomize;    
for i := 1 to Max do Data[i] := Random(30000);    
Writeln;    
Write('Now sorting random numbers...');    
QuickSort(Data, 1, Max);    
Writeln;    
for i := 1 to 1000 do Write(Data[i]:8);  
end. 

Pemantapan Program PASCAL
hasil coding



Contoh program pascal membuat fibonanci series :

PROGRAM fibonacci_series; 
VAR a,b,j,n:integer; 
PROCEDURE fib(a,b,j:integer); 
BEGIN       
IF j>0 THEN      
BEGIN            
WHILE j<>a DO            
BEGIN            
writeln(a:1,' ');            
fib(b,a+b,j-1);            
END;       
END;  
END;  
BEGIN       
writeln('FIBONACCI SERIES');       
writeln;       
writeln('Enter any number');       
readln(n);       
writeln;       
IF n<=0 THEN writeln('Invalid Entry,please try again!')       
ELSE       
fib(0,1,n);  
END. 

Pemantapan Program PASCAL
hasil coding



Wednesday, December 19, 2018

Rekursif PASCAL

Rekursif PASCAL

Rekursif 

Rekursif adalah fungsi atau prosedur yang digunakan untuk dapat memanggil dirinya sendiri. 

Berikut ini adalah sebuah contoh coding program pascal fungsi dan prosedur yang  menggunakan fungsi rekursif. 

Contoh Coding Rekursif ,program faktorial :

Program Recursif; 
Var    
num, f : Integer; 
Function fact (x : Integer): Integer;(*penjumlahan factorial of x-x!*) 

Begin    
If x=0 Then        
fact := 1     
Else        
fact := x * fact(x-1);  (*pemanggilan rekursif *) 
End;  { end of function fact} 

Begin    
Writeln (' Enter a number: ');    
Readln (num);    
f := fact (num);        
Writeln (' Factorial ', num, ' is: ' , f); 
End. 

Rekursif PASCAL
hasil coding


Rekursif PASCAL


Contoh Program Coding rekursif yang lain ,Program Fibonanci urut angka : 

Program rekursifFibonacci; Var    
I : Integer; 
Function fibonacci(n : Integer) : Integer; 

Begin    
If n = 1 Then       
fibonacci := 0        
Else  
If n=2 Then       
fibonacci := 1        
Else       
fibonacci := fibonacci(n-1) + fibonacci(n-2); 
End;  

Begin    
For i:= 1 To 10 Do        
Write (fibonacci (i), '  '); 
End. 

rekursif fibonancy
hasil coding





Monday, December 17, 2018

FUNCTION PASCAL

FUNCTION PASCAL

FUNCTION

Function hampir sama dengan blok pada procedure, hanya pada function harus dideklarasikan dengan tipe dari function tersebut yang merupakan tipe hasil dari function itu sendiri. 

Sehingga dapat dikatakan function dapat mengembalikan nilai. Perbedaan fungsi dengan prosedur adalah: 
  • Pada fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya(kalau pada prosedur parameter yang dikirimkan secara acuan). 
  • 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. 
  • Pada prosedur, nama prosedur tidak dapat digunakan langsung, yang dapat langsung digunakan adalah parameternya yang mengandung nilai balik. 

Hal ini dapat dilihat dari bentuk headernya yang menyebutkan jenis data dari kuantitas yang dihasilkan.Secara umum bentuk header suatu function adalah : 
FUNCTION nama:jenis_hasil;
atau
FUNCTION nama(formal parameter:jenis):jenis_hasil;
Pada materi sebelumnya contoh program adalah sebuah fungsi dengan nama MAX yang dapat menentukan integer terbesar di antara dua integer. 

Contoh Coding :

Uses Crt; 
Function max (x,y : Integer) : Integer;  
Begin  
If x < y Then     
max := y ; 
Else
max := x; 
End;  

Selanjutnya kita dapat menggunakan fungsi di atas dalam suatu program, misalnya dengan menyatakannya sebagai berikut :
p := max(a,b);
z := max(a+b,a*b);
q := max(MAX(a,b),c);
…………………………  dsb. 

Contoh Coding :
KALIAN BISA MENCOBANYA KLIK DISINI

uses crt;
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. 

FUNCTION PASCAL
hasil coding , pada inputan saya memasukan 5 untuk X dan 8 untuk Y
FUNCTION PASCAL


Perbedaan fungsi dengan prosedur adalah:

  1. Pada fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya (kalau pada prosedur pada parameter yang dikirimkan secara acuan). Pada contoh, nama fungsi tersebut adalah Hitung dan nilai yang dikirim balik berada pada nama fungsi tersebut. Sehingga nama fungsi ini harus digunakan untuk menampung hasil yang akan dikirimkan dari fungsi, sebagai berikut :  hitung:=A+B; //nama fungsi yang berisi nilai yang akan dikirim
  2. Karena nilai balik berada di nama fungsi tersebut, maka fungsi tersebut dapat langsung digunakan untuk dicetak hasilnya, sebagai berikut : writeln(X,'+',Y,'=',hitung(X,Y)); //nama fungsi yang langsung digunakan untuk ditampilkan hasilnya Atau nilai fungsi tersebut yang dapat juga dipindahkan langsung ke pengenal variabel yang lainnya, seperti berikut : Hasil := Hitung(X,Y);   Writeln(X,’ + ‘,Y, ‘ + ‘,Hasil) Sedangkan pada prosedur, nama prosedur tersebut tidak dapat digunakan langsung, yang dapat langsung digunakan adalah parameternya yang mengandung nilai balik. 
Contoh Coding Program Function menghitung faktorial : 

Program contoh; 
Uses Crt; 
Function faktor(bilangan : Integer) : Real; 
Begin 
If (bilangan = 0) Then            
faktor := 1 
Else        
faktor := faktor (bilangan - 1) * bilangan; 
End; 
Var 
n  : Integer; 
Begin Clrscr; 
Write ('Berapa Faktorial Dari = '); Readln(n); 
Writeln (n,' faktorial = ', faktor (n) :9:0); 
Readln; 
End.

FUNCTION PASCAL

Contoh Coding Program Menghitung Luas Lingkaran:

Program hitung_lingkaran;    
Uses Crt;    
Type warna=(merah, kuning, biru);    
Const pi = 3.14;    
Var jari2 : integer=7; 
warna_lingkaran  : warna=merah;    
Function luas_lingkaran : real; 
Begin    
luas_lingkaran := pi * jari2 * jari2; 
End;    
Procedure kel_lingkaran (jari2 : integer); 
Begin     
Write ('Keliling Lingkaran = ');     
Writeln(PI*(jari2+jari2):4:2, ' cm'); 
End;    
Begin 
Clrscr; 
Writeln ('PROGRAM MENGHITUNG LUAS LINGKARAN'); 
Writeln ('---------------------------------'); 
Writeln ('Diketahui: jari-jari lingkaran = ', jari2,' cm'); 
Writeln ('Warna Lingkaran = ', warna_lingkaran); 
Writeln ('Luas Lingkaran = ', luas_lingkaran:4:2, ' cm'); 
kel_lingkaran (jari2); 
Readln; 
End.

FUNCTION PASCAL
hasil coding



PROCEDURE PASCAL

Procedure 

Procedure dan Function merupakan suatu program yang terpisah dalam blok sendiri yang berfungsi sebagai subprogram yang merupakan sebuah program kecil untuk memproses sebagian dari pekerjaan program utama.  

Prosedur harus diawali dengan kata cadangan Procedure di dalam bagian pendeklarasian prosedure. Prosedure dapat dipanggil dan digunakan di dalam blok program yang lainnya dengan menyebutkan judul prosedurnya. 

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

Sebagaimana halnya sebuah program yang utuh, suatu procedure juga harus memiliki header dan block. Perbedaan bentuknya dengan program utama hanyalah pada bagian headernya saja. Bentuk Umum header suatu procedure adalah : 
PROCEDURE nama;
atau
PROCEDURE nama (formal parameter:jenis);
Jika kita ingin menggunakan procedure dalam suatu program, maka procedure tersebut harus dituliskan pada bagian pendeklarasian. 

Procedure nama_procedure (parameter); 
Deklarasi variabel,label,…dll; 
Begin 
Statement procedure;
…………………………. 
…………………………. 
End; 

Contoh untuk membuat suatu procedure untuk menentukan bilangan bulat terbesar diantara tiga bilangan bulat, maka procedure tersebut bisa dicontoh sebagai berikut : 

PROGRAM contoh;
PROCEDURE maksimum;
VAR max:integer;
begin
if a>b then max:=a else max:=b;
if c>max then max:=c;
writeln(max);
end;
begin
readln(a,b,c);
maksimum
end.

keterangan :
Function dan Procedure PASCAL

Jangkauan identifier yang dideklarasikan dalam suatu blok program hanya berlaku pada blok dimana identifier tersebut didefinisikan.
Function dan Procedure PASCAL

Function dan Procedure PASCAL


Nilai parameter dalam suatu modul program Pascal sifatnya adalah lokal, artinya hanya dapat digunakan pada modul atau unit program y. 

contoh program1 :

prosedur tanya_hitung;
var X,Y :real;
begin
write ('Nilai X ?');readln(X);
Y:=X*X;
writeln('Nilai Y=',Y:6:2);
end;
begin
tanya_hitung;
end.

Keterangan : Variabel X dan Y sifatnya adalah lokal untuk prosedur Tanya_hitung, artinya hanya dapat digunakan pada modul itu saja, Pada modul yang lain tidak dapat digunakan.

procedure tanya_hitung;
var X,Y:real;
begin 
write('Nilai X?');readln(X);
Y:=X*X;
end;
begin
tanya_hitung;
writeln('Nilai Y=',Y:6:2);
end.

Agar nilai variabel dapat digunakan di modul lainnya, maka dapat dilakukan dengan cara pendeklarasikan variabel secara global, yaitu dideklarasikan di atas modul yang menggunakannya. 

Struktur kesatu.
Function dan Procedure PASCAL

Pada Struktur kesatu diatas, variabel A dab B bersifat global untuk prosedur kedua, ketiga dan utama, tetapi tidak bersifat global untuk prosedur  kesatu, sehingga prosedur kesatu tidak dapat menggunakan variabel-variabel tersebut. 

Struktur kedua.
Function dan Procedure PASCAL


Pada Struktur kedua diatas, variabel A dan B bersifat global untuk semua modul. 

Parameter yang dikirim dari modul utama ke modul prosedur disebut actual parameter, dan parameter yang ada dan dituliskan pada judul prosedur disebut formal parameter. 

Parameter yang dikirimkan secara nilai, maka parameter formal yang ada di prosedur akan berisi nilai yang dikirimkan yang kemudian bersifat lokal di prosedur. 

procedure konversi;
begin
F:=(5/9)*c+32; //f dan c variabel global, c sebagai input dan f sebagai output.
writeln(C,F);
end;


Procedure di atas dapat dipanggil dengan variabel yang berbeda, tetapi penulisannya harus diubah dengan menggunakan parameter sbb:
Function dan Procedure PASCAL

Contoh Coding :
KALIAN BISA MENCOBANYA KLIK DISINI

procedure hitung(A,B:integer);
var C:integer;
begin C:=A+B;
writeln('Nilai C = ',C)
end;
var X,Y:integer;
begin
write('Nilai X?');readln(X);
write('Nilai Y?');readln(Y);
hitung(X,Y);
end.

Function dan Procedure PASCAL
hasil coding
Function dan Procedure PASCAL

Bila pengiriman parameter secara acuan (by reference), maka perubahan-perubahan yang terjadi pada nilai parameter formal di prosedur akan mempengaruhi nilai actual parameter.

Contoh Coding :

procedure hitung(var A,B,C:integer);
begin
C:=A+B;
end;
var X,Y,Z:integer;
begin
X:=2; y:=3;
hitung(X,Y,Z);
writeln('X=',X,' Y=',Y,' Z=',Z);
end.

Function dan Procedure PASCAL
hasil coding


Acuan Forward digunakan untuk mendeklarasikan dimuka judul prosedur terpisah dari bloknya. 

Contoh Coding :

uses crt;
procedure pro1(var l:integer); 
forward;
procedure pro2(var l:integer);
begin
writeln('prosedur pro',l);
end;
procedure pro1(var l:integer);
begin
writeln('prosedur pro',l);
end;
var l:integer;
begin
l:=1;pro1(l);
l:=2;pro2(l);
end.

Prosedur Standar yang disediakan oleh Pascal :

  • Prosedur standar EXIT Digunakan untuk keluar dari suatu blok. 
  • Prosedur standar HALT Digunakan untuk menghentikan proses program baik di program bagian maupun di program utama. 
  • Prosedur standar MOVE Bentuk umum : MOVE (Var source,dest; count : word); Digunakan untuk menyalin suatu blok sebanyak count byte memori dari blok dimulai byte pertama source dan disalinkan ke byte pertama dest. 
  • Prosedur standar FILLCHAR Digunakan untuk mengisi sejumlah byte nilai ke dalam suatu variabel, sebagai berikut: 
FillChar(x;count :word;ch); X adalah variabel yang dapat bertipe apapun yang akan diisi dengan nilai tipe ordinal Ch sebanyak count byte.


Contoh Coding Program Procedure Hitung Luas dan Procedure Hitung Keliling :

Uses Crt; 
Procedure hitungluas(p,l:integer); 
Var Ls :Integer; 
Begin Ls := p * l; 
Writeln ('Luas: ', ls); 
End; 
 
Procedure hitkeliling (pp, ll : Integer); 
Var Kel : Integer; 
Begin Kel := (2 * pp) + (2 * ll); 
Writeln ('Keliling: ', kel); 
End; 

Var 
Pj,lbr : Integer; 
Begin 
Clrscr; 
Write ('Masukan panjang : '); Readln(pj); 
Write ('Masukan lebar : '); Readln(lbr); 
Writeln; 

Hitungluas (pj, lbr); 
hitkeliling(pj, lbr); 
Readln; 
End. 

Function dan Procedure PASCAL
hasil coding, saya memasukkan 30 untuk panjang dan 40 untuk lebar . procedure berfungsi untuk tiap penghitungan luas dan procedure keliling menampilkan hasil.





Sunday, December 16, 2018

Array Lanjutan Pascal

array pascal

ARRAY Terhadap RECORD 

Array juga bisa digunakan untuk record data dengan ketentuan sebagai berikut: 

  • Record harus merupakan tipe data yang terstruktur yang harus dideklarasikan sendiri 
  • Record harus terdiri dari beberapa field dimana pada setiap field harus dinyatakan namanya dan tipe dari field tersebut 
  • Deklarasi pada record dapat dinyatakan pada bagian isian atau blok dari TYPE dan pada blok VAR 
  • Untuk dapat melakukan pengolahan terhadap field dapat dilakukan dengan 2 cara seagai berikut : 1.perintah titik  2.statement WITH 


Dibawah ini adalah contoh pendeklarasian record pada pascal : 

TYPE   mahasiswa  =  RECORD   
Nama :  string [15] ;   
BP :  string [8] ;   
Umur :  integer ;  
END; 
VAR  mhs  :  mahasiswa; { hanya untuk 1 orang mahasiswa } 

Membaca field array dengan menggunakan cara pertama yaitu dengan perintah titik : 

Write ('Nama : '); readln (mhs.nama); 
Write ('Nobp : '); readln (mhs.nobp); 
Write ('Umur : '); readln (mhs.umur);


Untuk cara kedua dapat menggunakan statement WITH seperti berikut: 

WITH mhs DO   
BEGIN Write ('Nama : '); readln (nama); 
Write ('BP : '); readln (BP);   
Write ('Umur : '); readln (umur);   
END ;


Untuk dapat menampung data Record variabel Array juga dapat digunakan, silakan kalian coba coding berikut ini :
KALIAN BISA MENCOBANYA DISINI KLIK INI

program tipe_record_array;
uses crt;
 
type
  rec_siswa =
    record
      nama: string[20];
      umur: integer;
      sekolah: string[30];
      kota: string[20];
    end;
 
var
  siswa: array [0..5] of rec_siswa;
 
begin
  clrscr;
  
  siswa[0].nama:= 'Fajar Yusuf';
  siswa[0].umur:= 17;
  siswa[0].sekolah:= 'SMK Triple J';
  siswa[0].kota:= 'Citereup';
  
  writeln('Nama : ',siswa[0].nama);
  writeln('Umur : ',siswa[0].umur);
  writeln('Sekolah : ',siswa[0].sekolah);
  writeln('Kota : ',siswa[0].kota);
  
  writeln;
  
  siswa[1].nama:= 'Nur Eka Insani';
  siswa[1].umur:= 16;
  siswa[1].sekolah:= 'SMA SEMPUR';
  siswa[1].kota:= 'Cibinong';
  
  writeln('Nama : ',siswa[1].nama);
  writeln('Umur : ',siswa[1].umur);
  writeln('Sekolah : ',siswa[1].sekolah);
  writeln('Kota : ',siswa[1].kota);

end.

array pascal
hasil coding





Friday, December 14, 2018

Larik atau Array PASCAL

Array PASCAL

Larik / Array


Array merupakan tipe data bentukan yang terdiri dari berbagai kumpulan tipe data lain yang diwakili oleh 1 nama variabel. Dalam satu nama variabel ini dapat menampung banyak nilai/value dengan tipe dan panjang datanya yang sama.

Silakan simak contoh contoh program array pascal dibawah berikut .

Contoh pertama untuk array silakan kalian buat program sederhana berikut tanpa array :
KALIAN BISA MENCOBANYA DISINI

Program tanpa_array; 
Uses Crt; 
Var    
nilai1, nilai2, nilai3, nilai4 : Integer; 
Begin   
Clrscr;    
nilai1 := 17;   
nilai2 := 12;    
nilai3 := 5;    
nilai4 := 40;       
Writeln ('nilai1: ', nilai1);    
Writeln ('nilai2: ', nilai2);    
Writeln ('nilai3: ', nilai3);    
Writeln ('nilai4: ', nilai4);       
End. 

Array PASCAL
hasil coding



Tipe data nilai pada Program diatas mari kita ubah kedalam bentuk Array. Pengisian dan menampilkan data dapat dilakukan secara acak, tetapi harus disesuaikan dengan batasan dan ketetapan yang ada seperti coding berikut :

Program tipe_array; 
Uses Crt; Var    
Nilai  : Array [1..4] Of Integer; 
Begin    
Clrscr;    
Nilai [3] := 17;    
Nilai [4] := 12;    
Nilai [2] := 5;    
Nilai [1] := 40;       
Writeln ('nilai1: ', nilai [3]);   
Writeln ('nilai2: ', nilai [4]);    
Writeln ('nilai3: ', nilai [2]);    
Writeln ('nilai4: ', nilai [1]); 

Writeln ('nilai1: ', nilai [1]);    
Writeln ('nilai2: ', nilai [2]);    
Writeln ('nilai3: ', nilai [3]);    
Writeln ('nilai4: ', nilai [4]);       
End. 

Array PASCAL
hasil coding



Seluruh tipe data dapat digunakan pada Array dan jumlah indek perArraynya harus sesuai dengan kemampuan memory setiap komputer. Secara standar biasanya komputer hanya mampu menampung 255 buah indek yang dimulai dari 0. 

Hal yang perlu dideklarasikan adalah nama variabel, indeks variabel dan tipe data variabel. Deklarasi ini berfungsi untuk memesanan tempat/memori dari setiap variabel ARRAY tersebut. 

Contoh selanjutnya adalah program pascal menghitung rata rata menggunakan array :

Program memasukkan_data_ke_array;
Uses crt;
Var A : array  [ 1..3] of integer;
 N,i    : integer;
 jum   : integer;
 rta : real;
Begin
 Clrscr; 
 n := 0;
For i  :=1 to 3 do
Begin
  Write   ('masukan nilai ke',i,'= ');
  Readln  (A [i] );
  jum  := jum + A [i];
  rta  := jum / i;
End;
 writeln ('jumlah= ',jum);
 writeln ('rata-rata= ',rta : 0 : 0);
 end.

array pascal
hasil coding 


Data Array juga dapat meampung data lebih dari satu indek. Indek ini disebut dengan dimensi. Berikut ini adalah contoh penggunaan Aray 2 dimensi :

Program tipe_array; 
Uses Crt; 
var    
nilai : Array [0..1,0..2] Of Integer; 
Begin    
Clrscr;       
nilai [0,0] := 1;    
nilai [0,1] := 2;    
nilai [0,2] := 3;     
nilai [1,0] := 4;    
nilai [1,1] := 5;    
nilai [1,2] := 6;       
Writeln ('nilai 0,0: ',nilai [0,0]);    
Writeln ('nilai 0,1: ',nilai [0,1]);    
Writeln ('nilai 0,2: ',nilai [0,2]);    
Writeln ('nilai 1,0: ',nilai [1,0]);    
Writeln ('nilai 1,1: ',nilai [1,1]);    
Writeln ('nilai 1,2: ',nilai [1,2]);       
End. 

Array PASCAL
hasil coding



Contoh program array pascal 3 dimensi :

Program tipe_array; 
Uses Crt; 
Var    
nilai : Array [0..1,0..2,0..3] Of Integer; 
Begin    
Clrscr;       
nilai [0,0,2] := 2;    
Writeln (nilai[0,0,2]);       
nilai [1,2,3] := 999;    
Writeln (nilai[1,2,3]);       
End. 

 Array PASCAL
hasil coding


Yang perlu diperhatikan adalah: Setiap variabel yang dinyatakan sebagai ARRAY harus dideklarasikan pada blok VAR Jika ada pertanyaan silakan berkomentar :)

Wednesday, December 12, 2018

Perintah loncat atau Goto PASCAL

Goto PASCAL

Perintah loncat ( Goto )

Perintah loncat pada Pascal adalah statement Goto. Peintah ini berfungsi untuk loncat ekseksi ke sebuah pernyataan yang dideklarasikan oleh Label.

Bentuk penulisan goto :

Goto Label;


Label harus berada didalam blok yang sama dengan pernyataan Goto. Karena goto tidak bisa digunakan untuk melompat keluar dari dalam procedure atau function. Suatu Label harus dideklarasikan pada bagian deklarasi Label.

Bentuk Penulisan label:

Label identifier,
...
identifier;



Contoh program goto atau loncat yang pertama bisa dicoba program sederhana menghitung nilai rata-rata berikut :

Program penggunaan_GoTo_Label;
Uses Crt;
Label atas;
Var
nil1, nil2 : Integer;
nilRata : Real;
Lagi : Char;
Begin
atas:
ClrScr;
WriteLn ('Program Hitung Nilai');
WriteLn ('--------------------');
WriteLn;
Write ('Masukan Nilai 1 : ');
ReadLn (nil1);
Write ('Masukan Nilai 2 : ');
ReadLn (nil2);
nilRata := (nil1 + nil2)/2;
WriteLn ('Nilai Rata - Rata : ',nilRata:5:2);
WriteLn;
Write ('Ingin Hitung Lagi[Y/T] : ');
ReadLn (Lagi);
If (Lagi in ['Y','y']) Then
GoTo atas;
End.

Goto PASCAL
hasil coding, pada contoh saya menginput Y untuk kembali keatas dan program mulai kembali(goto loncat ke atas) , dan kedua saya menginput T dan program berakhir.



Contoh program goto atau loncat yang kedua bisa dicoba program menghitung luas persegi luas segitiga dan luas lingkaran berikut ini :

Program contohLabel;
Uses Crt;
Label menu, luasPersegi, luasSegiTiga, luasLingkaran, keluar;
Const phi = 3.14;
var
s : Integer;
p,l,luasP : Integer;
a,t,luasS : Real;
r,luasL : Real;
Begin
Clrscr;
Goto menu;
menu:
 Begin
 Writeln ('Menu Menghitung Luas');
 Writeln ('=====================');
 Writeln ('1. Luas Persegi');
 Writeln ('2. Luas Segi Tiga');
 Writeln ('3. Luas Lingkaran');
 Writeln ('4. Keluar');
 Write ('Masukkan Pilihan Menu [1-4] : '); Readln(s);
 Writeln;
If (s = 1) Then
Goto luasPersegi;
If (s = 2) Then
Goto luasSegiTiga;
If (s = 3) Then
Goto luasLingkaran;
If (s = 4) Then
Goto keluar;
 End;
luasPersegi:
 Begin
 Writeln ('Menghitung Luas Persegi');
 Writeln ('=======================');
 Write ('Masukkan Panjang : '); Read(p);
 Write ('Masukkan Lebar : '); Read(l);
 luasP := p * l;
 Write ('Luas Persegi Panjang : ', luasP);
 Writeln;
 Goto menu;
 End;
luasSegiTiga:
 Begin
 Writeln ('Menghitung Luas Segi Tiga');
 Writeln ('=========================');
 Write ('Masukkan Alas : '); Read(a);
 Write ('Masukkan Tinggi : '); Read(t);
 luasS := 0.5 * a * t;
 Write ('Luas Segitiga : ', luasS:3:2);
 Writeln;
 Goto menu;
 End;
 luasLingkaran:
 Begin
 Writeln ('Menghitung Luas Lingkaran');
 Writeln ('=========================');
 Write('Masukkan Jari-jari : ');read(r);
 luasL := phi * r * r;
 Write('Luas Lingkaran : ', luasL:3:2);
 Writeln;
 Goto menu;
 End;
 keluar:
End.


Goto PASCAL
hasil coding , program akan menampilkan pilihan menu , dan menu tersebut akan sesuai dengan pilihan 1,2,3,4 sesuai inputan yang kita masukkan akan loncat ke label / menu tersebut.



Perintah Percabangan PASCAL

Perintah Percabangan 

Perintah percabangan digunakan pada saat pemilihan terhadap satu pernyataan tertentu dari beberapa pernyataan yang ada untuk bisa dieksekusi oleh processor. Jika sebuah kondisi sudah terpenuhi, maka processor akan mengeksekusi suatu pernyataan yang sudah ditentukan sedangkan pernyataan lain dibiarkan tanpa eksekusi.

Perintah percabangan If

Bentuk umum yang pertama:
If (kondisi) Then 
Begin
pernyataan;
End;


Kondisi akan berperan sebagai penentu dari stuktur percabangan. Jika kondisi sudah terpenuhi (bernilai TRUE), maka pernyataan akan dieksekusi. Dan jika kondisi tidak terpenuhi (bernilai FALSE), maka pernyataan tidak akan dieksekusi. Kondisi terdiri atas operasi perbandingan, misalnya apakah variabel a berisi angka 5, atau variabel password berisi String ‘P@ssw0rd’.

Bagian yang ada didalam Begin dan End : adalah blok pernyataan yang akan dieksekusi oleh processor jika kondisi terpenuhi (TRUE). Setelah itu, processor akan melanjutkan mengeksekusi pernyataan berikutnya yang bernilai TRUE.

Contoh pertama silakan liat pada program if sederhana berikut :
KALIAN BISA MENCOBANYA KLIK DISINI

Program struktur_if_then;
Uses Crt;
Var
 Angka : Integer;
Begin
 Clrscr;
 angka := 5;
 If (angka < 10) Then
 Begin
 Writeln ('Variabel "angka" lebih kecil dari 10');
 End;
 Writeln ('Belajar Pascal di FajarYusuf.com');
End.

IF PASCAL
hasil coding angka lebih kecil dari pada 10 dikarenakan variabel angka bernilai 5 , maka kondisi if terpenuhi dan pernyataan untuk mencetak writeln terlaksana.


Contoh program kedua adalah program pengetesan bilangan genap :

Program struktur_if_then;
Uses Crt;
Var
 Angka : Integer;
Begin
 Clrscr;
 Write ('Masukkan sebuah angka: ');
 Readln(angka);
 If (angka mod 2 = 0) Then
 Begin
 Writeln('Angka yang anda masukkan merupakan bilangan genap');
 End;
 Readln;
End.

if pascal
hasil coding, kondisi if adalah angka mod 2=0 ,dimana berarti jika angka bisa untuk dibagi 2 pernyataan di dalam if akan dieksekusi yaitu Angka yang anda masukkan merupakan bilangan genap.

Contoh program ketiga berikut adalah program mencari bilangan kesukaan menggunakan if :

Program kesukaan;
Const
bilkesukaan = 4;
Var
bil : Integer; {nilai-nilai yang diinputkan}
index : Integer; {banyaknya penginputan}
juminput : Integer; {berapa kali ingin menginputkan}
Begin
Writeln ('Ada : ');Read (juminput);
writeln(juminput,' nilai yang di inputkan');
For index := 1 To juminput Do
Begin
Writeln ('Ada : ');Read (bil);
Writeln(bil,' nilai yang di inputkan');
If (bil = bilkesukaan) Then
 Write (' ',bilkesukaan,' adalah bilangan kesukaan saya');
Writeln;
 End;
End.

Perintah Percabangan PASCAL
hasil coding, pada coding saya memasukkan angka 4 sebagai bilkesukaan saya, dan saya inputt 3 untuk pengulangan nilai yang akan di input, pertama saya memasukan 1 ternyata bukan kesukaan saya, kedua saya memasukan 2 dan ternyata bukan juga, sampai ketiga saya memasukan 4 dan terlihat 4 ternyata bilangan kesukaan saya.


Pernyataan yang berada diantara tanda kurung kurawal buka '{' dengan kurung kurawal tutup '}' tidak akan dieksekusi oleh procesoor. Pernyataan ini hanya berfungsi sebagai komentar / catatan untuk kita pribadi.

Ada beberapa operator kondisi :
operator kondisi


Contoh program keempat berikut adalah program compare menggunakan if :

Program compare;
Var
juminput : Integer;
comparand : Integer;
bil : Integer;
greater : Integer;
counter : Integer;
Begin
Read (juminput);
Writeln ('Ada sebanyak ', juminput, ' nilai input');
Read (comparand);
Writeln ('Kita akan check nilai-nilai yang besar dari ',
comparand);
greater :=0;
For counter := 1 To juminput Do
Begin
Read (bil);
Write (bil);
If (bil > comparand) Then
 Begin
Write (' adalah lebih besar ');
greater := greater + 1;
End;
Writeln;
End;
Writeln (' Maka ada ', greater, ' nilai lebih besar.');
Readln;
End.

compare pascal
hasil coding, saya menginput 3 untuk nilai yang akan diteliti , saya memasukan 4 untuk angka pembanding, saya memasukan 2 5 dan 7 , ternyata hasil hanya ada dua angka yang lebih besar dari angka pembanding (4) yaitu 5 dan 7



Bentuk umum kedua IF seperti berikut :

If (kondisi) Then
pernyataan_pertama 
Else 
pernyataan_kedua;

Pernyataan_kedua dieksekusi oleh processor apabila kondisi tidak terpenuhi atau tidak true (False). Sebelum perintah Else tidak boleh ada tanda semicolon (;), karena IF-THEN-ELSE merupakan satu kesatuan perintah / satu statement. 

Contoh program pertama if then else sederhana untuk mengetahui angka lebih besar atau kecil :

Program struktur_if_then_else;
Uses Crt;
Var
 Angka : Integer;
Begin
 Clrscr;
 angka := 4;
 If (angka > 5) Then
 Begin
 Writeln ('Variabel ',angka,' lebih besar dari 5');
 End
 Else
 Begin
 Writeln ('Variabel ',angka,' lebih kecil dari 5');
 End;
End.

if then else pascal
hasil coding , variabel angka diberi angka 4 sedangkan kondisi if adalah jika 5 lebih besar daripada nilai angka, maka pernyataan if tidak akan ditampilkan, karena kondisi if tidak terpenuhi maka pernyataan else lah yang akan tampil 



Contoh program kedua if then else berikut untuk mengetahui bilangan genap atau ganjil:

Program struktur_if_then_else;
Uses Crt;
Var
 angka : Integer;
Begin
 Clrscr;
 Write ('Masukkan sebuah angka: ');
 Readln (angka);
 If (angka mod 2 = 0) Then
 Begin
 Writeln ('Angka yang anda masukkan merupakan bilangan genap');
 End
 Else
 Begin
 Writeln('Angka yang anda masukkan merupakan bilangan ganjil');
 End;
 End.

if then else pascal
hasil coding, kondisi pada if adalah jika bilangan bisa dibagi 2 tanpa koma (mod 2=0) makan pernyataan akan ditampilkan yaitu bilangan merupakan genap, tetapi jika dibagi 2 menjadi pecahan maka pernyataan else lah yang akan tampil yaitu angka merupakan bilangan ganjil. pada contoh saya memasukan 6 untuk mengetes bilangan genap, dan 5 untuk mengetes bilangan ganjil





Tuesday, December 11, 2018

Nested Loop PASCAL

Nested Loop PASCAL

NESTED LOOP

Pengertian sederhananya dari Nested Loop adalah adanya Loop didalam Loop , atau bisa disebut pengulangan bersarang.

Langsung saja kita ke contoh programnya.

Contoh Program NESTED LOOP sederhana :

Program NL;
Var
i,j:integer;
Begin
For i := 1 To 10 Do
Begin
For j := 1 To 8 Do
Write ('+');
Writeln;
End;
End.


Nested Loop PASCAL
hasil coding akan membentuk + dengan panjang 10 dan lebar 8 dikarenakan ada looping untuk i row dan j kolom


Contoh program nested if yang lainnya bisa diliat coding dibawah akan membantuk coding 2 persegi :
Program duasegi(output);
Var
baris, kolom : Integer;
Begin
For baris := 1 To 10 Do
Begin
For kolom := 1 To 8 Do
Write('+');
Write (' ');
For kolom := 1 To 8 Do
Write ('+');
Writeln;
End;
End.

Nested Loop PASCAL
hasil coding akan membentuk dua persegi sesuai dengan loop baris dan kolom, 1-10 baris membuat panjang kedua persegi , dan kolom  loop pertama 1-8  membuat lebar + setelah loop 8 selesai akan ada sepasi yang terjadi untuk membagi dua persegi ' ' lalu melanjutkan kembali  loop kedua baris 1-8 untuk lebar persegi kedua, maka terjadilah 2 persegi.


Perintah Perulangan atau Looping PASCAL

Perintah Perulangan atau Looping PASCAL

Perintah Perulangan atau Looping

Perintah perulangan atau looping berfungsi untuk mengulang baris pernyataan yang akan dieksekusi oleh alat proses (processor) komputer. Banyak perulangan/ looping yang dilakukan tidak memiliki batas, sesuai dengan kebutuhan algoritma dan processor yang mampu untuk mengolahnya. Jenis perintah ini terdiri atas sintaks FOR, melakukan proses perulangan/looping dengan telah menetapkan batas awal dan batas akhir dari perulangan tersebut.

Bentuk perintah perulangan/looping terdiri atas:
For (variabel_counter) := (nilai_awalTo (nilai_akhirDo 
 Begin 
 pernyataan yang ingin diproses ulang ...;
 end;
atau
For (variabel_counter) := (nilai_awal) Downto (nilai_akhir) Do 
 Begin pernyataan yang ingin diproses ulang ...; 
 End;

Tipe variabel_counter haus bilangan bulat tidak dalam pecahan, tipe bilangan bulat seperti Integer, Byte, Word, Shortint, atau Longint.


Contoh program perulangan program mencetak 5 kali :
KALIAN BISA MENCOBANYA KLIK DISINI

Program perulangan;
Uses Crt;
Var k : Integer;
Begin
For k:= 1 to 5 do {mencetak 5 kali}
Begin
Writeln('Tampilan ke-', k);
End;
Repeat Until Keypressed;
End.

Looping PASCAL
hasil coding menampilkan perulangan tampilan 1 sampai mencapai 5


Contoh program perulangan program mencetak kata Hello Bahasa Pemrograman Pascal sampai 1000 :
Program for_1;
Uses Crt;
var
 i: Integer;
Begin
 Clrscr;
 For i := 1 To 1000 Do
 Begin
 writeln('Hello Bahasa Pemrograman Pascal');
 End;
 Readln;
End.

Looping PASCAL
hasil coding akan mencetak kata pada dalam looping sebanyak 1000x


Contoh program perulangan program mencetak angka hitung mundur dari 10 sampai 0 :

Program for_2;
Uses Crt;
Var
 i: Integer;
Begin
 Clrscr;
 For i := 10 Downto 0 Do
 Begin
 Writeln('Hitung mundur: ',i);
 End;
 Readln;
End.

Looping PASCAL
hasil coding mencetak hitung mundur 10-0 sesuai looping downto


Contoh program perulangan program mencetak piramida sesuai tinggi yang kita inputkan :

uses crt;
var 
a,b,c,d:integer; 
begin 
write('masukkan jumlah baris bintang yang akan ditampilkan:');readln(a); 
for b:= 1 to a do 
begin 
for c:= a downto b do 
write(' '); 
for d:= 1 to b+b-1 do 
write('*'); 
writeln; 
end;
readln;
end.

Looping PASCAL
hasil coding, saya menginputkan 6 untuk tinggi piramidanya


lebih jelasnya :

membuat piramida pascal





TENTANG SITUS

SITUS INI ADALAH SITUS PEMBELAJARAN PEMROGRAMAN DAN JUGA PEMAHAMAN TERHADAP TEKNOLOGI KOMPUTER. KALIAN BISA MENGIKUTI PEMBELAJARAN PEMROGRAMAN DENGAN BERTAHAP PADA MATERI YANG SUDAH SAYA SEDIAKAN, JIKA ADA MATERI YANG MEMBINGUNGKAN SILAKAN LAKUKAN KOMENTAR PADA MATERI YANG ANDA TANYAKAN ATAU KALIAN BISA MENGHUBUNGI SAYA DIHALAMAN KONTAK.

https://smallseotools.com/