Saturday, October 1, 2016

Contoh Soal Pascal untuk OSN Jilid 2


Hay kawan-kawan "Jamane Komputer" pada kesempatan kali ini saya ingin membagi tentang soal-soal untuk berlatih menghadapi OSN bidang Komputer. Pada kesempatan sebelumnya saya telah membagi Contoh Soal Pascal Untuk OSN Jilid 1, nah pada kesempatan ini saya memberi judulnya Contoh Soal Pascal untuk  OSN Jilid 2. Maaf ya kawan-kawan jika pada kesempatan kali ini apa yang sudah saya bagi masih terdapat kekurangan dari sana sini (namanya juga masih bekajar :D), dan semoga yang saya bagi ini dapat membantu dan menambah wawasan bagi kawan-kawan semua yang akan mengikuti OSN khususnya bidang komputer. 

Ini contoh soal-soal ya....

Potongan program berikut untuk mengerjakan nomor 1-2
function lanjutkan(x:integer):integer;
begin
    if x <= 1 then
    lanjutkan := 1
    else
         lanjutkan := lanjutkan(x-1) + lanjutkan(x-2) + lanjutkan(x-3);
end;

1. Berapakah nilai yang dihasilkan jika pemanggilan lanjutkan(7)?
a. 9
b. 17
c. 31
d. 57
e. 105

2.Apabila lanjutkan(x-3) diganti dengan lanjutkan(x-2), maka nilai yang dihasilkan dengan pemanggilan lanjutkan(6) adalah…
a. 21
b. 43
c. 85
d. 171
e. 345

Potongan program berikut untuk mengerjakan nomor 3-5
function lanjutkan(m,n:integer):longint;
var i : integer;
 h : longint;
begin
h := 1;
      for i := m downto (n+1) do
          h := h*i; lanjutkan := h;
end;

3.Nilai lanjutkan(5,3) pada program di atas adalah….
a. 20
b. 30
c. 40
d. 50
e. 60

4.Nilai lanjutkan(6,4) pada program di atas adalah….
a. 10
b. 30
c. 50
d. 70
e. 90

5.Nilai 336 pada program di atas adalah pemanggilan dari….
a. lanjutkan(5,4)
b. lanjutkan(6,4)
c. lanjutkan(7,4)
d. lanjutkan(8,4)
e. lanjutkan(9,4)

Perhatikan Potongan Program berikut ini:

function xyz(x,y:integer):integer;
begin if y = 0 then
    xyz := 2
    else xyz := x * xyz(x,y-1);
end; 
6.Apabila program di atas dipanggil dengan xyz(6,2), maka outputnya adalah…
a. 72
b. 50
c. 32
d. 18
e. 8

Potongan program berikut untuk mengerjakan nomor 7-8
function bersama(x:integer):integer;
var y : integer;
begin y := 0;
     repeat
          y := y + 2;
          x := x div 3;
     until (x mod 2 = 1);
     bersama := y;
end;
7.Pada potongan program di atas jika dipanggil dengan bersama(75), berapakah nilai bersama yang dihasilkan pada akhir pemanggilan?
a. 1
b. 2
c. 3
d. 4
e. 5

8.Pada potongan program di atas, manakah di antara nilai-nilai x berikut ini yang jika dipanggil bersama(x) akan menghasilkan bersama=4?
a. 51
b. 56
c. 60
d. 66
e. 69

Potongan program berikut untuk mengerjakan nomor 9-10
var i,n,c : longint;
begin
   n :=10;
   c := 10;
      for i:= 1 to n do
      begin inc(c,4);
end;
 writeln(c);

9.
 Berapakah output dari potongan program di atas?
a. 10
b. 20
c. 30
d. 40
e. 50

10.Berapakah output program di atas jika nilai n diganti menjadi 100?
a. 410
b. 550
c. 750
d. 800
e. 930

Monday, September 19, 2016

Contoh Soal Pascal untuk OSN Jilid 1


 Halo kawan-kawan "Jamane Komputer" apa kabar?? Semoga kalian semua dalam keadaan baik selalu. Pada kesempatan kali ini saya ingin berbagi pengalaman saya untuk memuat tentang soal-soal OSN bidang komputer. Soal ini saya buat hanya untuk latihan saja, jika soal-soal yang saya buat ini masih banyak kekurangan saya mohon maaf yang sebesar-besarnya. Mudah-mudahan contoh soal ini dapat membantu kalian semua yang sedang belajar untuk menghadapi lomba OSN bidang komputer.

ini ya kawan-kawan saya kasih soal-soalnya... Selamat mencoba:
1. Perhatikan potongan program berikut ini:

a,b : integer;
begin
   for a := 0 to 3 do
   for b := 1 to 1+a do
   writeln('Aku pasti bisa');

Dari potongan program di atas, maka kalimat “Aku pasti bisa” akan tercetak sebanyak….

a. 6

b. 7

c. 8

d. 9

e. 10

2.

Perhatikan potongan program berikut ini:

procedure bulan(i:integer);
var a,b : integer;
begin
b := 1;
       while b < i do
       begin
               a := 1;
               while a <= 100 do
               begin
                    writeln('oke');
                    a := a * 5;
                end;
                b := b + 1;
        end;
end;

Apabila potongan program di atas dipanggil dengan fungsi bulan(5), berapakah banyaknya tulisan oke yang akan dicetak?

a. 10

b. 11

c. 12

d. 13

e. 14


Potongan program berikut untuk mengerjakan nomor 3-5


Var
   r,s,t,u : integer;
begin
readln(r,s,t,u);
if (r<s) then
   if (r>t) then
      if (t<u) then
         writeln('Aku Pelajar Purbalingga')
      else
         writeln('Aku Pasti Bisa')
      else
         if (s<u) then
            writeln('Pascal itu mudah')
         else
             writeln('Rajin Pangkal Pandai')
else
if (r>u) then
   if (t<u) then
      if (t>u) then
         writeln('Say No to Drug')
      else
         writeln('Indonesia Jaya')
   else
   if (r>t) then
      if (r>u) then
         writeln('Semoga jadi Juara')
      else
         writeln('Lomba Mapel Komputer');

3.

Jika r =11, s =11, t=11, u=11 maka output program di atas adalah….

a. Aku Pelajar Purbalingga

b. Rajin Pangkal pandai

c. Indonesia Jaya

d. Semoga Jadi Juara

e. Tidak mengeluarkan tulisan apapun 

4.

Jika r=12, s=13, t=14, u=15 maka output program di atas adalah…

a. Aku Pelajar Purbalingga

b. Pascal itu mudah

c. Pascal itu mudah

d. Say No to Drug

e. Lomba Mapel Komputer

5.

Jika r=14, s=15, t=15, u=15 maka output program di atas adalah….

a. Aku Pasti Bisa

b. Semoga jadi Juara

c. Rajin Pangkal Pandai

d. Semoga jadi juara

e. Tidak mengeluarkan tulisan apapun


Potongan program berikut untuk mengerjakan nomor 6-7


var x,y : integer;
begin
x := 78;
y := 0;
repeat
  x := x div 3;
  y := y + 2;
until (x <= 3);
writeln(y);

6.

Nilai y dari potongan program di atas adalah…
a. 6
b. 7
c. 8
d. 9
e. 10

7.

Jika nilai awal X adalah 121, berapakah nilai X sebelum nilainya menjadi 1?
a. 3
b. 4
c. 6
d. 8
e. 10

Potongan program berikut untuk mengerjakan nomor 8-9
var x,y,z :
 integer;
begin
x := 0;
z := 0;
     for y := 1 to 7 do
         z := z + y; x := z shl 1;
         writeln(x, ' ',y);

8.

Output dari program di atas adalah…
a. 30,6
b. 56,7
c. 56,8
d. 66,9
e. 70,7

9.

Berapa kalikah proses z := z + y; dijalankan?
a. 3
b. 4
c. 5
d. 6
e. 7

Perhatikan Potongan Program berikut ini:
v ar
   data : array[1..7] of integer;
procedure dicoba(x:integer);
begin
 data[1] := 2;
 data[2] := 6;
 data[3] := 1;
 data[4] := 3;
 data[5] := 4;
 data[6] := 9;
 data[7] := 8;
       if(x <= 8) then
       begin
                dicoba(x*2);
                write(data[x],' ');
                     dicoba(x*2+1);
       end;
end;

10.

Output yang dihasilkan jika dilakukan pemanggilan dicoba(2) adalah….
a. 1 2 3
b. 2 6 4
c. 3 6 4
d. 3 6 4 9
e. 1 3 6 4

   

Tuesday, September 6, 2016

Cara Memperbaiki program Pascal apabila terjadi kesalahan Sintax

Halo kawan kawan "JamaneKomputer", dalam membuat sebuah program di Pascal pasti kawan-kawan semua pernah mengalami kesalahan dalam menuliskan source code nya. Apabila hal ini terjadi pasti program tersebut tidak dapat dijalankan sebagai mana mestinya. Jika source code yang dibuat hanya beberapa baris saja ( seperti : Memulai Menjalankan Program Pascal) bisa langsung dapat dilihat kesalahannya dan bisa langsung diperbaiki. Nah bagaimana jika yang ditulis itu source code nya banyak sekali, pasti akan bingung kita dengan melihat satu-satu dari sour code tersebut. Di sini saya sedikit sharing tentang bagaimana cara mengatasi masalah apabila terjadi kesalahan pada source code yang kita tulis.
1. Silahkan kawan-kawan melihat contoh source code sederhana dari program Pascal Memulai Menjalankan Program Pascal

2. Jika source code tersebut ada yang kita ubah, misalnya pada bagian  writeln('selamat mencoba'); dihilangkan tanda petik yang terakhir, sehingga menjadi  writeln('selamat mencoba); . Tampilan program menjadi:

3. Kita coba untuk melalukan proses run dengan memilih menu Run kemudian pilih run, maka akan muncul tampilan seperti berikut ini:

4. Terdapat sebuah kalimat yang berlatar belakang merah "Error 8: String constant exeeds line.". Jika kita tidak tahu maksud dari pesan error tersebut maka hal itu tidak perlu dikuatirkan. Perhatikan saja letak kursor yang ada pada layar program Pascal tersebut. Biasanya jika terdapat suatu kesalahan pada sour code maka kursor akan menempatkan diri pada baris yang salah. Jadi kita tinggal melihat saja pada baris tersebut kira-kira sebelah atau pada bagian mana yang masih kurang.

5. Jika kita sudah mengetahui letak kesalahannya, maka kita bisa langsung menambahkan tanda petik pada bagian tersebut yang masih kurang. Klik lagi menu Run kemudian pilih run, maka program akan berjalan sesuai source code yang sudah dituliskan.

Demikianlah sharing yang bisa saya sampaikan semoga ada manfaatnya. Salam sukses dari kami "JamaneKomputer"  

Monday, September 5, 2016

Memulai Menjalankan Program Pascal

Halo sobat "JamaneKomputer" kali saya kepengin sharing sedikit nih tentang bagaimana sih cara atau langkah-langkah dalam menjalankan program Pascal?

Untuk langkah awal akan dibuat kode program yang sederhana dulu saja ya...

1. Buka program Pascal punya kawan-kawan deh. Tampilannya seperti di bawah ini:

2. Program Mencoba  yang kita gunakan sebagai contoh program dalam latihan kita kali ini, sudah memakai struktur yang sederhana pada kode pascal. Berikut saya tulis kembali contoh kode tersebut ya kawan-kawan:

program mencoba;
uses crt;
begin
clrscr;
     writeln('selamat mencoba');
     writeln('belajar pascal');
     readln;
end.

Kode program Pascal, diawali dengan program kemudian diikuti dengan judul program yang diinginkan (pada contoh di atas, saya memakai judul mencoba). Seterusnya, kode program dibuka dengan perintah “begin”, dan diakhiri dengan perintah “end.”(perhatikan tanda titik di akhir end). Diantara “begin” dan “end.” disiinilah seluruh kode program pascal berada.

Perintah writeln berfungsi untuk menampilkan teks (output), perintah readln berfungsi untuk menerima masukan (input).  Sedangkan perintah readln pada kode di atas ditambahkan hanya untuk menahan jendela tampilan jendela program ketika di-run. jika kawan-kawan ingin menghapus baris readln; kemudian mencoba men-run kode di atas. Output akan terlihat sebentar saja (tidak sampai 1 detik).

3. Berikut adalah program yang sudah ditulis dalam program Pascal

4. Jika kawan-kawan sudah selesai mengetik program di atas, maka kita dapat melihat hasil (output) dari program tersebut. Klik menu Run kemudian pilih Run (Ctrl+F9).

5. Jika penulisan program di atas tidak terjadi kesalahan maka Pascal akan memberikan hasilnya sebagai berikut:

Demikianlah kawan-kawan semua untuk tulisan saya kali ini. Semoga tulisan ini dapat bermanfaat bagi kawan-kawan semua. Maap ya jika penulisan saya kurang baik.
Salam dari "Jamane Komputer"