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:

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

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

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

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

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

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

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

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

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

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

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

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

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

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.