Asah Kemampuanmu Dengan Pascal

Hasil gambar untuk program 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 ....













Related Posts

Asah Kemampuanmu Dengan Pascal
4/ 5
Oleh

- 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