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

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

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

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

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

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

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

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

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

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

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

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

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

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.