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:

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

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

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

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

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

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

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

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

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

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

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

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

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

Sign up to vote on this title
UsefulNot useful