P. 1
Kumpulan Source Code Program Pascal

Kumpulan Source Code Program Pascal

|Views: 288|Likes:
Published by suriansyah bindas

More info:

Published by: suriansyah bindas on Sep 05, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

04/28/2015

pdf

text

original

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:

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

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

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

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

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

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

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

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

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

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

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

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

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

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->