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:

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

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

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

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

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

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

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

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

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

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

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

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

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

Sign up to vote on this title
UsefulNot useful