Kumpulan Source code Program Pascal

Hei , agan2 anak RPL smkn1 kota bekasi, pasti taulah , dan udah berkenalan dengan program yang namanya PASCAL = yang ngajar pak Andre.S.Kom , bner ga ?

Nah , pada kesempatan yang bagus ini , ane mau share contoh source code programprogram kecil dalam bahasa pascal. Meskipun masih sederhana dan mungkin tidak cocok untuk programmer yang sudah mapan, tulisan ini saya harap bisa berguna untuk mereka yang masih atau mau belajar memprogram. Karena sebelum memahami hal yang rumit, harus paham yang sederhana dulu kan? Dengan membaca kode-kode pascal yang ada disini, semoga bisa menambah pemahaman tentang pemprograman. Bila dasar source code yang Linked List bukan saya yang membuat, semua yang ada disini adalah kode yang saya tulis sendiri. Sebagian di kerjakan sebagai jurnal praktikum di kampus, sebagian tugas dari dosen, dan sisanya adalah hasil iseng-iseng. Jadi, saya jamin code disini tidak akan di temui di website atau blog lain, kecuali mereka memplagiat artikel ini. Jadi merasa beruntunglah sudah kesini, hwahwahwahah (tertawa setan) Silahkan cermati, hayati, lalu komentari. Kalau ada yang kurang jelas, Tanyakanlah….. Prosedur dan Fungsi Di sub judul ini, ada 4 source code yang mengandung fungsi dan prosedur. Fokus yang ada disini adalah bukan mengenai bagaimana isi prosedur itu, tapi lebih ke bagaimana penggunaan fungsi dan prosedur itu. Tentang bagaimana deklarasinya, penerapan parameter, pemanggilannya dan sebagainya… Contoh disini dimulai dari yang paling sederhana hingga yang lebih ribet sedikit….. Dilatasi Fungsi : Mengalikan dua buah angka yang dimasukan dengan angka tertentu. Hint : Screenshot Output:

readln(x).uses crt.c dan nilai x.z). begin write('masukan a : ').c.x. begin writeln('Kordinat Awal').'2)-'.z. end. d:=b*peng.pengali). var x.x:integer):integer.'(x^'.z.absis.y.readln(pengali). write('Kordinat ('.readln(s). readln.x.d. var absis.s.peng:integer).ordinat.'.readln(ordinat). Screen Shot : uses crt.pengali:integer.s:integer.d:integer.ordinat. write('masukan b : '). write('masukan x : ').'.c.') ='. writeln. dilat(absis. Mencari Penyelesaian Fungsi Kuadrat Fungsi : Mengitung nilai persamaan kuadrat bila nilai x diketahui Hint: Masukan nilai a.readln(absis). end.' menjadi ').readln(z).readln(y). end. write('masukan faktor pengali '). write('Ordinat : ').')'). end. readln.'x+'.y.') setelah didilatasikan terhadap faktor '. write('Absis : '). writeln('f(x)='. procedure dilat(a. begin fungsi:=a*(x*x)-b*x+c.b.ordinat.y. Menghitung Waktu Gerhana .pengali.s)).'. var c.fungsi(x.b. writeln('('.'. writeln('f('. begin c:=a*peng.b. function fungsi(a. write('masukan c : ').

8. 2:begin write('masukan tahun '). begin case s of 1. k:=y mod 4.Fungsi : Menghitung tanggal gerhana pada bulan tertentu dengan rumus yang sudah ada. .ha.readln.. maks(b). write('Gerhana bulan '). 4:WRITE('April'). end. end. bul:string.:'). else writeln('Bulan salah!!!'). Hint: Sebenarnya intinya hanya membuat prosedur yang menampilkan jumlah hari dalam bulan tertentu. 8:WRITE('Agustus'). var b.5.k:integer.12:ha:=31.3.7.exit.readln(b). 5:WRITE('Mei'). end. 9:write('September'). hitung(ha). procedure hitung(bee:integer). end.11:ha:=30. 7:write('Juli'). begin ger:=bee-(2*b). begin write('masukan bulan ke.ger:integer. 3:WRITE('Maret'). procedure maks(s:integer). 6:WRITE('Juni').waktu gerhana ini sebagai tambahan saja. 2:WRITE('Februari'). if k=0 then ha:=28 else ha:=29. 10:write('Oktober'). case b of 1 : WRITE('Januari'). 4.6.9.readln(y). var y.10. Screen Shot : uses crt. 11:WRITE('November').

c:integer):integer. end. begin peny:=b*d.ger). writeln('maka hasil dari pertambahan '. end. writeln.peny(penyi. pemb:=a*j+k*c.penyII:integer. write('Penyebut i :').penyi. begin writeln('Pecahan 1 ').pemII.12:WRITE('desemberrrr'). write('Pembilang i :'). writeln(' terjadi pada hari ke-'.'/'. write('Pecahan 2 '). Penjumlah Pecahan Fungsi : Menjumlahkan 2 buah pecahan.'+'. var pemi. Hint: Tinggal masukan saja penyebut dan pembilang.penyii)). beralih ke Array.'/'.d:integer):integer.readln(pemi).k:integer. kodekode yang sini mungkin terlihat lebih rumit dari sebelumnya… Mencari angka kelipatan 3 .readln(penyII).readln(penyI). readln.pemii.penyI.' adalah '.pemi. writeln. readln. k:=penyi. Karena sudah masuk ke array.pemb(pemi. Screenshot : uses crt. begin j:=penyii. end. function pemb(a.penyII. function peny(b. write('Pembilang ii :').'/'. end. write('Penyebut II: ').readln(pemII). ARRAY Setelah prosedur dan fungsi.pemii). end. j.

mp:array[1. Screen Shot : uses crt.k. {menentukan mana yang kelipatan 3} for k:=1 to j do begin if a[k] mod 3=0 then b[k]:=a[k].readln(a[j]). repeat write('angka ke-'. j:=j+1. begin . '). Screen Shot : uses crt.m2. end.1.j.k. begin {memasukan angka} j:=1. var m1. var a. end. end.'.l:integer. {Menampilkan mana yang kelipatan tiga} write('angka kelipatan 3 adalah : ').10] of integer.j. Penjumlah Matrix Fungsi : Menjumlahkan dua matriks 3x3 yang diinputkan Hint: Masukan nilai matriks di tiap-tiap baris dan kolom.. readln. until a[j-1]=-1.l:integer. Hint: Masukan angka dan masukan -1 untuk berhenti..10. for i:=1 to (j-1) do begin if b[i]<>0 then write(b[i].b:array[1. otomatis hasil akan ditampilkan..Fungsi :Mencari angka kelipatan 3 dari sekumpulan angka yang diinputkan. i.j. i.': ').10] of integer.

i. readln. end. {lukis hasil penjumlahan} writeln('Hasil Penambahan = ').j]). for j:=1 to 3 do write(mp[i. type mahasiswa=record nama. for i:=1 to 3 do for j:=1 to 3 do begin write('m2['.'.kelas:string. writeln('Matriks ke 2'). end.i. writeln.' ').'. uses crt. atau apalah dengan array dan menampilkannya. .{Menginput nilai matriks} writeln('Matriks ke 1').j]:=m1[i. for i:=1 to 3 do begin writeln. for i:=1 to 3 do for j:=1 to 3 do begin write('m1['.readln(m2[i.j]+m2[i.'] : ').'.'] : ').j]. end. Screen shot : program mhsw. end.j. {jumlahkan} begin for i:=1 to 3 do for j:=1 to 3 do begin mp[i. writeln.readln(m1[i.nim.j]). Hint: Intinya adalah membuat array di record.j. end.j]. Pendata Mahasiswa Fungsi: Mendata data mahasiswa. end. writeln.'.

i. writeln('==================================').end.x. write('Nim : '). tab:array[1.w.j:integer.kelas).readln(j). writeln. end.c.d.':').. Screen Shot : uses crt. kolom. var m:array[1. begin write('Jumlah mahasiswa yang mendaftar : '). j.4. readln.1. end. Tabel Ajaib Fungsi : Membuat tabel angka yang apabila nilai tabel dalam satu baris. for i:=1 to j do begin writeln('Mahasiswa '. writeln.i. writeln. writeln. end. for i:=1 to j do begin writeln('Mahasiswa '. clrscr. writeln('=================================='). writeln('Nim : '.m[i].z..4] of integer. clrscr.readln(m[i].nim). writeln('DATA MAHASISWA KOMPUTOK').m[i].b. writeln.readln(m[i]. write('Nama : '). writeln('Kelas : '.41] of mahasiswa. Tinggal masukan angka-angka saja.i. var a. writeln('Nama : '. . semua sudah ada rumusnya. dan diagonal di jumlahkan hasilnya akan sama.kelas).nama). Hint: jangan terlalu heran. write('Kelas : ').i:integer.m[i].readln(m[i].nim).y..':'). writeln.nama).

j]>-10)) then c:=' ' else if (tab[i.readln(c). for j:=1 to 4 do begin begin if (tab[i. tab[3. tab[2. write('b = ').1]:=a-w.j]<0) and (tab[i. {program utama} Begin {memasukan nilai} write('a = '). write('x = '). tab[1. end.readln(w). delay(500).. end. write('y = '). write('d = '). end. tab[3.j]>-1) then c:=' ' else c:=' '.j]). begin for i:=1 to 4 do begin writeln.3]:=c. tab[3.j]) else write(c. tab[2.1]:=d+w-z..4]:=a-w+z..4]:=b+x-z..2]:=c+w+y.3]:=d. {rumusnya ini} tab[1. write('w = '). tab[1.j]<10) and (tab[i. write('z = ').3]:=b+x-y. end.readln(a).readln(y).readln(d). writeln. tab[2. tab[3. {Prosedur untuk menampilkan tabel} var c:string. write('c = ').tab[i..readln(z).j]>9) or ((tab[i.4]:=d-x. if j=1 then write(tab[i.c) else if j=2 then write(tab[i. writeln('memproses.readln(b).2]:=b. tab[1.2]:=a.')..j]. . tab[2.1]:=c-x+z.procedure lukistabel.readln(x).

readln. for k:=2 to i do begin a[k+1]:=a[k]+a[k-1]. end.tab[4.4]:=c+w. Fibbonaci Generator Fungsi: Kode untuk Menghasilkan deret fibbonaci Hint : Fibbonaci adalah deret yang angka selanjutnya adalah penjumlahan 2 angka sebelumnya.3]:=a-x+y. end. readln. {fibbonacigenerator} a[1]:=1..' '). end. i. writeln. {pemanggilan prosedur lukis tabel} lukistabel. Misal : 1 1 2 3 5 8 13 21 …. {menulis fibbonaci} for k:=1 to i do begin write(a[k].k:integer.readln(i). begin clrscr.1]:=b+x. writeln. tab[4.2]:=d-w-y. a[2]:=1. write('Input banyaknya fibbonaci: '). . var a:array[1.dst Screen Shot uses crt. tab[4.1000] of longint. tab[4. writeln. end.

Jangan masukan angka terlalu kecil atau besar. for i:=1 to n do begin k:=sqr(i). begin clrscr. 25 dst dan menjumlahkannya Hint : Masukan jumlah deret pangkat yang akan ditampilkan untuk di jumlah… Screen Shot uses crt. t:=t-1. end. for i:=1 to inp do begin for a:=1 to inp do write(a-t). Tidak lebih rumit dari array. readln(n). misal : 1. 4. var inp. writeln.r:integer. readln. 9. var k. begin readln(inp). end. . Screen Shot uses crt. langsung masukan angka saja. ini bagian perulangan.Iterasi Nah. 16.t.a. Angka Fungsi: Tak ada fungsi khusus. Jumlah Pangkat Fungsi: untuk menghasilkan deret pangkat.jum:double.i. jum:=0. t:=inp. i. hanya menampilkan pola-pola angka saja… Hint : Begitu jalan.n:longint. namun tidak sesederhana di sub bab fungsi dan prosedur.

write('='.write(k:0:0). writeln('Tebakan Anda Benar!!!!. masukan angka rahasia dan suruh teman untuk menebaknya Hint : Permainan ini tidak akan asik bila dilakukan sendirian. jum:=jum+k.readln(teb). begin readln(n). clrscr. Z Fungsi: Melukis huruf Z dengan karakter ‘*’ sebesar jumlah perulangan yang di inputkan Hint : Masukan angka untuk menentukan besar huruf Z Screen Shot uses crt.i. end. var n. var a. end. for i:=1 to n do . if (teb<>rhs) and (teb>rhs) then writeln('Bilangan terlalu besar!') else if (teb<>rhs) and (teb writeln('bilangan terlalu kecil'). end.rhs:integer. repeat write('masukan Tebakan anda : '). until (teb=rhs).c.d. if i<>n then write('+'). readln. Tebak Angka Fungsi: Permainan Tebak angka. selamat!!!!').jum:0:0). readln. begin Write('Bilangan Rahasia : '). Screen Shot uses crt.a:integer.teb.readln(rhs).

begin for a:=1 to n do begin if (i=1) or (i=n) then write('#') else if (i<>1) and (i<>n) then begin if a+i=n then write('#') else write(' '). saya membuat perulangan baru. toh selisih waktu kalkulasinya hanya beberapa milidetik. Berungsi untuk menampilkan pembagi dan hasil bagi bilangan bulat yang di masukan. disini juga bisa digunakan untuk menentukan bilangan mana yang prima atau bukan. Yang satu untuk menentukan bilangan prima. end. uses crt. end. end. writeln. awalnya saya menulis program ini iseng-iseng hanya untuk mencari yang mana bilangan prima. tapi sebenarnya alurnya sederhana. end. Selain itu. Silahkan bila ingin langsung mencoba bisa langsung kesana. readln. Sebelumnya program ini sudah pernah di publish di artikel ini. Tapi nampaknya tidak masalah. bahkan untuk bilangan yang mencapai ratusan juta sekalipun. namun saya tidak tampilkan source kodenya. waktu itu. rasanya malas……Berikut kodenya……. Kenapa harus 2? Sejarahnya begini. yaitu ada 2 perulangan disini. Dan akhirnya program ini punya 2 perulangan yang strukturnya hampir mirip. Lalu saya kembangkan lagi menjadi bisa menuliskan daftar bilangan pembagi. program pembagi. satunya lagi untuk menentukan pembagi. . Sebenarnya ada cacat di program ini. buat dulu file bernama output. Sehingga 2 perulangan menjadi tidak efisien. daripada repot mengedit perulangan untuk menentukan bilangan prima yang sudah mapan. Mau edit lagi.txt di folder yang sama dengan source code pembagi. Program Pencari Pembagi Program yang mungkin terlihat paling ribet. Sebenarnya 2 perulangan itu dapat dipangkas menjadi satu saja.: Hint: Sebelum di compile.

readln(x). writeln. writeln(out). out:text. e:=x mod w. gotoxy(3.2). end.' adalah bilangan prima'). writeln. begin {input bilangan yang akan di cari} k: write('masukan bilangan yang akan di cek : ').a:string.writeln. label k.'+------------------------------------------------------+'). until (q=0).writeln('+___________________________________________________ ___+').'Pembagi dari '.w. textcolor(Yellow).y. writeln(out). writeln(out).'--------------------'). {prosedur untuk sekedar merapikan hasil output} procedure rapikan(s:longint. writeln. gotoxy(3. http://komputok. writeln(out. yaitu dengan menginput angka 2} if x=2 then begin writeln('2 adalah bilangan prima'). writeln('--------------------'). {program utama} begin textbackground(blue).'--> '.5).'----[MENENTUKAN PEMBAGI SUATU BILANGAN BULAT]------').a). gotoxy(3.9). goto k. writeln(out.var t:string).': '). write('Mau keluar?(y/x)'). l.blogspot. writeln(out. assign(out.'+______________________________________________________+'). writeln. if e=0 then begin {menuliskan pembagi & hasil bagi ke konsole dan ke output.'|Copyright@2009.txt'). writeln. .txt} g:=x div w.q. until (w=x). writeln(out). gotoxy(3.writeln.w.var x.writeln('|Copyright@2009. writeln(out.': '). if l='y' then exit else goto k. writeln(out).3). clrscr. begin if s<10 then t:=' ' else if (s>9) and (s<100) then t:=' ' else if (s>99) and (s<1000) then t:=' ' else if (s>999) and (s<10000) then t:=' ' else if (s>9999) and (s<100000) then t:=' ' else if (s>99999) and (s<1000000) then t:=' ' else if (s>999999) and (s<10000000) then t:=' ' else if (s>9999999) and (s<100000000) then t:=' ' else if (s>99999999) and (s<1000000000) then t:=' ' else if (s>999999999) and (s<1000000000) then t:=' ' else t:=' '. writeln(out. writeln.writeln('----[MENENTUKAN PEMBAGI SUATU BILANGAN BULAT]------').z. maka program menentukan pembagi yang mungkin} writeln('Pembagi dari '. Xenovon. append(out). writeln(out.1).com |').'--> '.g).com |').readln(l).'/'. {menuliskan ke output. repeat w:=w+1.'= '.blogspot.x. rapikan(w.x. gotoxy(3.txt} writeln(out).a. end.g).x.f. writeln. w:=1.writeln(' hasil juga dioutputkan ke output. writeln(out). writeln. {Menentukan apakah bilangan prima atau bukan} begin y:=1. writeln(w.txt'). end.'/'.6). if y=x then begin writeln(x.x.'= '. writeln(out). end else begin {apabila bukan prima. {error handling} if x<2 then goto k else {pemeriksaan kondisi untuk keluar program.Writeln('+------------------------------------------------------+'). writeln(out.e.x. writeln. Writeln(out.writeln('Hint: Masukan angka 2 untuk keluar').writeln(out).w. gotoxy(15. end.'output. repeat y:=y+1. writeln(out). q:=x mod y.w. http://komputok.' adalah bilangan prima'). Xenovon.g:longint. end.a.

end. SEMOGA: Kumpulan Program source Code Turbo PascaL bermanfaat !! Terimakasih :) . close(out). Sekkian Postingan dari kami.end.

Sign up to vote on this title
UsefulNot useful