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;
...
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.
![]() |
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.
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.
![]() |
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. |
MATERI PASCAL
Jika kalian baru dalam pembelajaran pemrograman Pascal, Silakan belajar dari materi pertama :
Materi Ke-1 : Perintah Output
Materi Ke-2 : Perintah Input
Materi Ke-3 : Looping / Perulangan
Materi Ke-4 : Nested Loop
Materi Ke-5 : Percabangan (IF ELSE)
Materi Ke-6 : Perintah Loncat (GoTo)
Materi Ke-7 : Array
Materi Ke-8 : Array Lanjutan
Materi Ke-9 : Procedure
Materi Ke-10 : Function
Materi Ke-11 : Rekursif
Materi Ke-12 : Pemantapan Contoh Contoh Program Pascal
Materi Ke-2 : Perintah Input
Materi Ke-3 : Looping / Perulangan
Materi Ke-4 : Nested Loop
Materi Ke-5 : Percabangan (IF ELSE)
Materi Ke-6 : Perintah Loncat (GoTo)
Materi Ke-7 : Array
Materi Ke-8 : Array Lanjutan
Materi Ke-9 : Procedure
Materi Ke-10 : Function
Materi Ke-11 : Rekursif
Materi Ke-12 : Pemantapan Contoh Contoh Program Pascal
Comments