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

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

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

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

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

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

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

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

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

until (teb=rhs). Screen Shot uses crt. repeat write('masukan Tebakan anda : '). selamat!!!!'). for i:=1 to n do .c. if i<>n then write('+'). Tebak Angka Fungsi: Permainan Tebak angka. readln.i.readln(teb).d.teb. begin readln(n). jum:=jum+k. readln. masukan angka rahasia dan suruh teman untuk menebaknya Hint : Permainan ini tidak akan asik bila dilakukan sendirian. end. end.readln(rhs). end. clrscr.jum:0:0).rhs:integer. write('='.a:integer. 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. var n. var a. if (teb<>rhs) and (teb>rhs) then writeln('Bilangan terlalu besar!') else if (teb<>rhs) and (teb writeln('bilangan terlalu kecil'). writeln('Tebakan Anda Benar!!!!. begin Write('Bilangan Rahasia : ').write(k:0:0).

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

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

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

Sign up to vote on this title
UsefulNot useful