Baca Juga :Yuk Belajar Bahasa Pascal
Hallo Sahabat Viyovi , disini saya memberikan beberapa
soal beserta jawaban dalam pascal. Agar kamu lebih mahir dalam pascal .
Alangkah baiknya jika kamu mengerjakan soal tersebut tanpa melihat
kunci jawabannya terlebih dahulu.Selamat mencoba..
1.
Buatlah program untuk menyelesaikan masalah :
a.
Menentukan tahun kabisat !
b.
Mencari akar-akar sebuah persamaan kuadrat !
c.
Mencari nilai terbesar dari 3 buah bilangan yang
diinputkan oleh user !
d.
Menentukan sebuah bilangan yang diinputkan
adalah bilangan ganjil, genap, atau nol !
2.
Buatlah sebuah program menerima inputan berupa
biodata anda kemudian tampilkan hasilnya kelayar monitor , dengan menggunakan
record !
3.
Buatlah program perkalian matriks, dengan jumlah
kolom dan baris ditentukan oleh user untuk matriks- 1 dan matriks- 2. Dan
program dapat menentukan apakah operasi perkalian dapat dilanjutkan atau tidak,
dengan menggunakan array !
4.
Buat program untuk menentukan matriks transpose,
untuk jumlah baris dan kolom di tentukan oleh user, dengan menggunakan array !
5. Buatlah program penjumlahan matriks, dengan
jumlah kolom dan baris ditentukan oleh user untuk matriks 1 dan matriks 2 . Dan
program dapat menentukan apakah kedua matriks tersebut dapat dijalankan atau
tidak.
6. Buatlah program menghitung luas segitiga dengan
menggunakan fungsi!
7. Buat program dari n! Secara rekusi !
8. Buat program menghitung rata – rata dari
sejumlah bilangan yang diinputkan user dengan fungsi !
9. Buatlah sebuah program untuk membuat tampilan
seperti berikut :
10.
Buatlah sebuah program untuk membuat tampilan
sebagai berikut :
Kunci Jawaban :
1.
A.
uses crt;
var
tahun :
longint;
begin
clrscr;
write('Masukkan Tahun :');
readln(tahun);
if (tahun
mod 4=0) then
begin
write(tahun,' Merupakan Tahun Kabisat');
end
else
begin
write(tahun,' Bukan Merupakan Tahun Kabisat');
end;
readkey;
end.
B.
uses crt;
function pk1 (a,b,c : integer) : real;
begin
pk1
:=(-b+(sqrt(sqr(b)-4*a*c)))/2*a;
end;
function pk2 (a,b,c : integer) : real;
begin
pk2
:=(-b-(sqrt(sqr(b)-4*a*c)))/2*a;
end;
var
a,b,c :
integer;
begin
clrscr;
write('Masukkan Nilai A :');
readln(a);
write('Masukkan Nilai B :');
readln(b);
write('Masukkan Nilai C :');
readln(c);
writeln('Hasil 1
:',pk1(a,b,c):0:2);
writeln('Hasil 2
:',pk2(a,b,c):0:2);
readkey;
end.
C.
uses crt;
var
a,b,c :
longint;
begin
clrscr;
write('Masukkan Nilai Pertama :');
readln(a);
write('Masukkan
Nilai Kedua :');
readln(b);
write('Masukkan Nilai Ketiga :');
readln(c);
if
(a>b) and (a>c) and (b>c) then
begin
write('Nilai Terbesar - Terkecil = ',a,' ',b,' ',c);
end
else
if
(a>b) and (a>c) and (b<c) then
begin
write('Nilai Terbesar - Terkecil = ',a,' ',c,' ',b);
end
else
if (a>b) and (a<c) and (b<c) then
begin
write('Nilai Terbesar - Terkecil = ',c,' ',a,' ',b);
end
else
if (a<b) and
(a>c) and (b>c) then
begin
write('Nilai Terbesar
- Terkecil = ',b,' ',a,' ',c);
end
else
if (a<b) and
(a<c) and (b<c) then
begin
write('Nilai
Terbesar - Terkecil = ',c,' ',b,' ',a);
end
else
if
(a<b) and (a<c) and (b>c) then
begin
write('Nilai Terbesar - Terkecil = ',b,' ',c,' ',a);
end;
readkey;
end.
D.
uses crt;
var
n :
integer;
begin
clrscr;
write('Masukkan Nilai :');
readln(n);
if (n =0)
then
begin
write('Nol');
end
else
if
(n mod 2=1) then
begin
write('Bilangan Ganjil');
end
else
if (n mod 2=0) then
begin
write('Bilangan Genap');
end;
readkey;
end.
2.
uses crt;
type
biodata = record
nama
: string;
nim : string;
kom : char;
fakultas
: string;
universitas : string;
end;
var
data : biodata ;
begin
clrscr;
with data do
begin
write('Masukkan Nama Anda :');
readln(nama);
write('Masukkan NIM Anda :');
readln(nim);
write('Masukkan Kom Anda :');
readln(kom);
write('Masukkan Fakultas Anda :');
readln(fakultas);
write('Masukkan Universitas Anda :');
readln(universitas);
end;
clrscr;
with data do
begin
writeln('Nama :',nama);
writeln('NIM :',nim);
writeln('Kom :',kom);
writeln('Fakultas :',fakultas);
writeln('Universitas :',universitas);
end;
readkey;
end.
3. uses
crt;
type
larik = array[1..25,1..25] of integer;
var
matriks1,matriks2,hasil2 : larik;
i,j,k : integer;
bar1,kol1,bar2,kol2 : integer;
begin
clrscr;
write('Baris Matriks 1 :');
read(bar1);
write('Kolom Matriks 1 :');
read(kol1);
writeln;
write('Baris Matriks 2 :');
read(bar2);
write('Kolom Matriks 2 :');
read(kol2);
writeln;
for i:= 1 to bar1 do
begin
for j:= 1 to kol1 do
begin
write('Matriks 1 ',i,',',j,':');
read(matriks1[i,j]);
end;
end;
writeln;
for i:= 1 to bar2 do
begin
for j:= 1 to kol2 do
begin
write('Matriks 2 ',i,',',j,':');
read(matriks2[i,j]);
end;
end;
writeln;
if (kol1=bar2) then
begin
writeln('Dapat Dikalikan');
writeln;
for i:= 1 to bar1 do
begin
for j:= 1 to kol2 do
begin
for k:= 1 to kol1 do
begin
hasil2[i,j]:=hasil2[i,j]+ matriks1[i,k]*matriks2[k,j];
end;
end;
end;
writeln('Hasil Perkalian');
for i:= 1 to bar1 do
begin
for j:= 1 to kol2 do
begin
write(hasil2[i,j],' ');
end;
writeln;
end;
end
else
begin
writeln('Tidak Dapat Dikalikan');
end;
readkey;
end.
4.
uses crt;
type
larik = array[1..10,1..10] of integer;
var
matriks1,matrik2 : larik;
i,j,bar,kol,a,b: integer;
begin
clrscr;
write('Masukkan Jumlah Baris:');
read(bar);
write('Masukkan Jumlah Kolom:');
read(kol);
for i:= 1 to bar do
begin
for j:= 1 to kol do
begin
write('Matriks 1 ',i,',',j,':');
read(matriks1[i,j]);
end;
writeln;
end;
for i:= 1 to kol do
begin
for j:= 1 to bar do
begin
write(matriks1[j,i],' ');
end;
writeln;
end;
readkey;
end.
5.
uses crt;
type
larik = array[1..25,1..25] of integer;
var
matriks1,matriks2,hasil : larik;
i,j : integer;
bar1,kol1,bar2,kol2 : integer;
begin
clrscr;
write('Baris Matriks 1 :');
read(bar1);
write('Kolom Matriks 1 :');
read(kol1);
writeln;
write('Baris Matriks 2 :');
read(bar2);
write('Kolom Matriks 2 :');
read(kol2);
writeln;
for i:= 1 to bar1 do
begin
for j:= 1 to kol1 do
begin
write('Matriks 1 ',i,',',j,':');
read(matriks1[i,j]);
end;
end;
writeln;
for i:= 1 to bar1 do
begin
for j:= 1 to kol2 do
begin
write('Matriks 2 ',i,',',j,':');
read(matriks2[i,j]);
end;
end;
writeln;
if (bar1=bar2) and (kol1=kol2) then
begin
writeln('Dapat Dijumlahkan');
writeln;
for i:= 1 to bar1 do
begin
for j:= 1 to kol1 do
begin
hasil[i,j]:=
matriks1[i,j]+matriks2[i,j];
write(hasil[i,j],' ');
end;
writeln;
end;
end
else
begin
writeln('Tidak Dapat Dijumlahkan');
end;
readkey;
end.
6. uses
crt;
function luas(a,t :real):real;
begin
luas :=a*t/2;
end;
var
a,t : real;
begin
clrscr;
write('Masukkan Nilai Alas :');
readln(a);
write('Masukkan Nilai Tinggi :');
readln(t);
writeln('Hasil Luas Segitiga :',luas(a,t):0:2);
readkey;
end.
7. uses
crt;
var
n, m, hasil : integer;
procedure faktorial(n : integer;
var hasil : integer);
begin
if n=1 then
hasil := 1
else
begin
faktorial(n-1, hasil);
hasil := n*hasil;
end;
end;
begin
clrscr;
write('Berapa faktorial ? ');readln(n);
faktorial(n, m);
writeln(n ,' Faktorial = ', m);
readkey;
end.
8.
uses crt;
function Rata(jumlah,x:
real;i,n:integer):real;
begin
jumlah:=0;
for i:= 1 to n do
begin
write('Nilai x :');
readln(x);
jumlah:=jumlah+x;
end;
Rata:=jumlah/n;
end;
var
jumlah,x,hasil : real;
i,n : integer;
begin
clrscr;
writeln('Menghitung Rata - Rata');
write('Banyak Data :');
readln(n);
hasil:=Rata(jumlah,x,i,n);
write('Rata-Rata:',hasil:0:2);
readkey;
end.
9.
uses crt;
var
i,j,n : integer;
begin
clrscr;
write('Masukkan Bilangan :');
readln(n);
for i:= 1 to n do
begin
for j:= 1 to i do
begin
if (i mod 2 = 0 ) then
write('*')
else
write(i)
end;
writeln;
end;
readkey;
end.
10. uses
crt;
var
i,j,x,n : integer;
begin
clrscr;
write('Masukkan Nilai :');
read(n);
for i:= 1 to n do
begin
x:=0;
for j:= 1 to i do
begin
x:=x+j;
write(j);
if i=j then
write('=',x)
end;
writeln;
end;
readkey;
end.
Inilah
soal beserta kunci jawaban yang telah saya buat. Semoga sahabat viyovi
semakin mahir dalam belajar bahasa pascal . Sekian artikel dari saya .
Semoga bermanfaat untuk kita semua . Dan jangan lupa untuk membaca
artikel dari saya selanjutnya. Thank you ....
Asah Kemampuanmu Dengan Pascal
4/
5
Oleh
Unknown
- Dilarang memberikan komentar berbau SARA, pornografi dan provokasi
- Dilarang menyematkan link aktif
- Berkomentarlah sesuai dengan isi konten
- Komentar akan kami respon secepatnya
Terima Kasih telah berkunjung