P. 1
Program Pascal

Program Pascal

|Views: 445|Likes:
Published by Ardhi Rizki Harahap

More info:

Published by: Ardhi Rizki Harahap on Oct 11, 2011
Copyright:Attribution Non-commercial

Availability:

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

06/30/2014

pdf

text

original

PASCAL

Daftar ISI        Pengenalan Tutor 1 (cara mencetak ke layar dan penggunaan variabel) Tutor 2 (penggunaan kondisi) Tutor 3 (looping) Tutor 4 (prosedur dan fungsi) Tutor 5 (array dan record) Tutor 6 (Database)

Contoh Program Program 1 menghitung luas/keliling bangunan Program 2 menentukan bilangan ganjil, genap dan prima Program 3 menentukan bilangan terbesar (dengan if) Program 4 penggurutan angka (looping) Program 5 bintang (looping) Program 6 penggabungan program 1, 2 dan 4 dengan membuat menu (prosedur, fungsi) Program 7 toko (record dengan array) Program 8 Operasi String Program 9 Contoh penggunaan teori di tutor 6

Ardhi Rizki Harahap @ ∆ - vxq, Inc.

. 7: write('Hi '. Profesor Niklaus Wirth memperkenalkan kompiler bahasa Pascal pertama kali untuk komputer CDC 6000 (Control Data Corporation) yang dipublikasikan pada tahun 1971 dengan tujuan untuk membantu mengajar program komputer secara sistematis. Perhatikan cara penulisan programnya! Setiap baris selalu diakhiri dengan titik koma ". Pada baris ke 3. ahli matematik dan philosiphi terkenal abad 17 dari Prancis. disebut bagian pernyataan (tempat nulis program). Sekarang kita ngeliat bagaimana struktur program pascal. Ingat bila ada "Begin" pasti ada "end". Niklaus Wirth dari Technical University di Zurich. MS-Pascal. Pascal adalah bahasa tingkat tinggi yang orientasinya pada segala tujuan. Gak usah dipikirin apa isi program itu. Apple Pascal. Pada perkembangannya banyak versi-versi pascal yang beredar. Kita mulai. readln(nama). Tapi perhatikan strukturnya. Judulnya adalah "KaryaPertamaku". Gua pernah baca kalo pascal itu di buat karena bahasa C terlalu sulit untuk di pelajari untuk pemula. Bagaimana.vxq. nama.PENGENALAN Pada bagian ini gua cuman ngejelasin secara garis besar tentang pascal dan tips penulisan program. Sedangkan dari baris ke-4 s/d 8. Kalo nulis program usahakan yang rapi. dalam pascal ada yang disebut unit-unit lain semacam librari lah. ok? Rasanya gak lengkap kalo gak tahu sejarah pascal. khususnya pemrograman terstruktur. 3: var nama: string. itu adalah salah satu fungsi dari unit crt yaitu untuk membersihkan layar (sama dengan perintah cls di dos). O iya. mudah bukan? Gua kasih satu tips yang berguna. karena itu adalah tanda dari awal dan akhir program). Selain itu program pascal selalu dimulai dengan "begin" dan "end. Nama pascal diambil sebagai penghargaan terhadap Blaise Pascal. Turbo Pascal. 'apakabar?'). dll. gak ditulis juga boleh. . Inc. Perhatikan baris ke5 s/d 7. yaitu pendeklarasian variabel dan programnya. Switzerland. Perhatikan contoh: 1: Program KaryaPertamaku. nah penulisan program diantara begin dan end itu usahakan di kasih 2 spasi atau satu tab. Baris pertama itu hanya merupakan judul programnya doank. 4: Begin 5: write('Masukkan nama anda: ').." (jangan lupa titiknya loh). itu yang disebut bagian pendeklarasian variabel. 6: clrscr. Pascal terdiri dari 2 bagian utama. (berfungsi untuk memanipulasi layar teks)." (kecuali pada baris ke-4 dan 8. Misalnya pada baris kedua digunakan uses crt. Itu akan memudahkan penelusuran program bila terjadi kesalahan Ardhi Rizki Harahap @ ∆ . Perhatikan baris 6. 8: End. jangan pake spasi loh nulisnya (gunakan garis bawah aja). dirancang oleh Prof. 2: uses crt.

. Pada baris ke-7 di layar akan tercetak " Hi dijas apa kabar?" (itu kalo nama yang dimasukan dijas). Perhatikan Contoh 1: Begin 2: write('Hi. 8: End. Fungsi write adalah mencetak kalimat atau isi variabel yang ada ke layar. Pada baris ke-3 dideklarasikan variabel nama dengan tipe string. Jangan sampai salah mendeklarasikan jenis variabelnya loohh. Apa fungsinya? readln itu berfungsi untuk menampung (menyimpan hasil input user) dan disimpan pada variabel nama. 'apa kabar?'). Perhatikan contoh dibawah ini: 1: Program KaryaPertamaku. . Karena berupa string.. Selanjutnya ada perintah readln. 7: write('Hi '. Maka output yang tampil adalah: Hi. Inc. '). Tipe Data yang Sering Digunakan di Pascal Char -> hanya menampung satu karakter Ardhi Rizki Harahap @ ∆ . 5: End. Apa kabar ? Jelas bukan? Jadi fungsi "ln" pada writeln adalah untuk pindah kebaris yang baru. 3: var nama: string. Jadi yang tercetak adalah "Masukkan nama anda: ". Yup tutorial pertama kelar juga..... 4: Begin 5: write('Masukkan nama anda: '). writeln('Apa kabar?').vxq. Sedangkan bila berupa teks yang fixed. Fungsinya akan sama bila ditaruh di read. Jadi sekarang variabel nama bernilai sama yang kamu ketikan. 6: clrscr.. sekarang kita bakal belajar cara menampilkan teks di layar dan penggunaan variabel.. nama.. 4: writeln('Hi.. Sedangkan writeln akan pindah kebaris yang baru.'). contohnya sama seperti baris ke-5 (mengunakan ' (kutip) ).".MENCETAK KE LAYAR DAN PENGGUNAAN VARIABEL Ok. Untuk lebih jelas tentang jenis tipe data lihat tabel di bawah. 3: writeln.. Untuk menampilkan isi variabel cukup ditulis: "write(nama). variabel nama bisa menampung input dari user berupa kata dan angka. Sekarang perhatikan baris ke-5. write(' Apa kabar?'). readln(nama). 2: uses crt. Apa kabar? Hi. Apa sih beda write dan writeln? write fungsinya mencetak di layar dan posisi kursor masih dibaris itu juga.

2: var pilih: Integer..147. 3: Begin 4: write('Pilih 1 atau 2'). Selain dengan if.string -> menampung lebih dari satu karakter Boolean -> hanya mempunyai dua nilai True atau False Integer -> -32. Perhatikan contoh: 1: Program Tutorial2_case. 8: else write('Anda memilih yang lain').768 s/d 32. if dan case.7 x 1038 (untuk menampung bilangan desimal) PENGGUNAAN KONDISI Tutorial yang kedua ini akan dibahas mengenai pernyataan kondisi. readln(pilih). 3: Begin 4: write('Pilih 1 atau 2').". maka baris ke-5 dan ke-6 tidak memenuhi konsisi tersebut. Baris ke-7 tidak diperiksa lagi karena baris ke 6 sudah memenuhi syarat.648(gak bisa bilangan desimal) read -> 2. Pada saat program dijalankan. 6 dan 7.648 s/d -2.147.. Perlu diingat "end" disertai dengan titik hanya untuk diakhir program. 10: End. Berhubung pilihan kita 2 bukan 1. . 9: end. maka yang tercetak dilayar adalah "Pilihan anda 2". Misal pada program di atas kita pilih 2. maka akan langsung pindah kebaris selanjutnya. maka yang lain akan diabaikan. Pernyataan itu berfungsi untuk menutup pernyataan case yang dimulai pada baris ke-5. Apabila pilihan yang kita ketik ada di satu kondisi. Ternyata pada baris ke-6 kondisi itu terpenuhi.483. Inc. Bingung? gini maksudnya. 5: case pilih of 6: '1': write('Anda memilih 1'). Bila kita memilih 3. di sana ada pernyataan "end. 5: if pilih=1 then write('Anda memilih 1') 6: elseif pilih=2 then write('Pilihan anda 2') 7: else write('Anda memilih yang lain') 8: End. maka yang tercetak adalah "Anda memilih yang lain".767 (gak bisa bilangan desimal) longint -> -2.vxq. Di situ ada 3 pernyataan kondisi if. 7: '2': write('Pilihan anda 2'). 1: Program Tutorial2_if. Coba amati pada baris ke 9. readln(pilih). baris ke-5 akan di eksekusi. 2: var pilih: char. Ardhi Rizki Harahap @ ∆ . Keterangannya gak jauh beda dengan kondisi if kok.9 x 10-39 s/d 1. pernyataan kondisi di atas bisa juga menggunakan case.483. Perhatikan baris 5.

i). 8: i:=i+1. looping. Perhatikan contoh di bawah ini: 1: Program Tutorial3_for. Looping adalah proses pengulangan hingga kondisi syarat yang ditentukan tercapai. 5: while i < 5 do 6: begin 7: writeln('ini yang ke '." sebagai pasangannya (dibaris ke 9). Perhatikan baris 4 dan 5. case. yaitu baris ke-5 akan dieksekusi bila nilai i antara 1 sampai 5. Apa outputnya? ini yang ke 1 ini yang ke 2 ini yang ke 3 ini yang ke 4 Coba baris ke 8 kamu ganti dengan "i:=i-1. for. adakan pelajaran tentang looping dirangkaian elektronik.vxq. 3: Begin 4: For i:=1 to 5 do 5: writeln('ini yang ke '. di sana ada "begin" dan "end. 2: var i: Integer. i). 6: End.. Jadi. Coba liat baris ke 6.? masih ingatkan pelajaran fisika SMU. 2: var i: Integer. 3: Begin 4: i:=1. Di sana ada satu persyaratan. Apa output yang tercetak dilayar? ini yang ke 1 ini yang ke 2 ini yang ke 3 ini yang ke 4 ini yang ke 5 Bagaimana kalo mau pake while? Perhatikan contoh: 1: Program Tutorial3_while. baris ke-7 dan 8 akan dieksekusi (dijalankan) apabila nilai i < 5. Akan terjadi looping terus menerus karena kondisinya memenuhi syarat terus (i selalu Ardhi Rizki Harahap @ ∆ . 10: End.. Inc. Apa perbedaan mendasar while dengan for? yup. while dan repeat. 9: end.LOOPING Looping? apa hayoo. Bila ada lebih dari satu pernyataan harus di mulai dengan begin untuk kondisi if. di while dibutuhkan counter (diprogram ini adalah i). . Sekarang kita ngebahas 3 jenis looping." apa yang terjadi? Coba jalankan. Jika tidak hanya baris pertama saja yang dieksekusi.

apa yang kamu lakukan bila rumus itu ingin kamu tulis ditiga tempat yang berbeda? apa kamu akan ccp (copy. kan pada baris ke 8 tidak memenuhi persyaratan i<0 ? Memang nggak memenuhi persyaratan itu.i).vxq. Pernyataan itu akan menghitung mundur dari 10 sampai 1. 4: begin 5: writeln('Hi. Ini outputnya Hi. 7: i:=i+1. Ia akan mengeksekusi sekali dulu baru dicek persyaratan yang ada dibawah... 1: Program Tutorial4_Prosedur. apa yang dilakukan bila tertulis seperti ini? "For i:=10 downto 1 do". Itulah yang disebut prosedur. 6: writeln('Apakabar'). 2: 3: Procedure Tampil. 3: Begin 4: i:=1.. berarti kita harus betulin di tiga tempat juga. 7: end. cut dan paste)? emang bisa sih diperbanyak dengan yang gituan. 11: End. Pada baris ke 9 prosedur yang kita buat sebelumnya dipanggil dan dieksekusi. Untuk mempermudahnya gunakan Prosedur atau Fungsi. Gunakan jenis looping yang ada seseuai kebutuhan.'). 5: repeat 6: writeln('ini yang ke '.kurang dari lima). 1: Program Tutorial3_while.. tapi boros memori dan berabe kalo rumus yang kita tulis ternyata salah. Tekan control break untuk menghentikannya. Ardhi Rizki Harahap @ ∆ . O iya. Inc. Hal inilah yang disebut invinitive loop. Apakabar yang di atas menggunakan prosedur loohh. tapi ini adalah keistemewaan repeat. Kelar juga ngebahas looping. 8: until i<0. Apa yang dilakukan program di atas? Coba lihat baris ke-3 sampai 7. Sekarang kita coba dengan repeat. 9: End. Loh kok bisa. "ini yang ke 1". Apa outputnya? cuman 1.'). 8: Begin 9: Tampil.... .. Program utamanya mulai dari baris ke 8 sampai 11. 2: var pilih: char. PROSEDUR DAN FUNGSI Misalnya kita punya rumus menghitung luas segita. 10: writeln('yang di atas menggunakan prosedur loohh.

Bila kita punya fungsi yang bernama CekSaldo. . Bagaimana? mudah bukan? gunakan prosedur dan fungsi sesuai kebutuhan.vxq. 2: var hasil: integer. Solusinya adalah gunakan array. 10: writeln('Hasil 7 + 9 sama dengan '. Coba liat baris ke 9 ketika fungsi itung dipanggil. 2: var buah: array [1. Inc. Tapi perhatikan bentuk fungsinya. Jika ada 3 jenis buah-buahan (melon.Selain itu prosedur dan fungsi bisa di taruh variabel lohh.. Bagaimana jika ditulis "itung(3.6)"? Jelas gak bisa karena dialokasikan hanya 2 variabel. 7: end. Di sana tertulis "itung(7. duku dan mangga) berarti kita harus mempunyai tiga variabel untuk masing-masing jenis buah. maka CekSaldo bisa berfungsi seperti variabel sama seperti pada fungsi Itung di atas. 8: Begin 9: hasil:=itung(7. 9). 9)". b : integer) : integer. Hasil penjumlahan a + b ditampung di fungsi itung (lihat baris ke-5) dan hasil itu diberikan ke variabel hasil (baris 9). 3: i: integer. 4: Begin 5: For i:=1 to 3 do 6: begin 7: write('Masukkan buah-buahan ke '.i . 4: begin 5: itung:=a+b.3] of string. Lalu apa perbedaan prosedur dan fungsi? Prosedur hanya bisa menjalankan perintah dan tidak mengembalikan nilai (lihat kembali contoh program prosedur sebelumnya). ' : '). hasil).. 11: End.. secara otomatis a akan mendapat nilai 7 dan b mendapat 9. Perhatikan contoh: 1: Program Tutorial5_Array. Sedangkan fungsi bisa mengembalikan nilai untuk di tampilkan dilayar atau diolah lagi.5. ada pendeklarasian variabel a dan b. Baris 3 sampai 7 adalah fungsi. Ardhi Rizki Harahap @ ∆ . Terkadang fungsi lebih berguna dan efisien dibandingkan dengan prosedur. Bagaimana cara kerjanya? yaitu dengan menggunakan index (semacam penanda). 3: Function Itung(a. Array itu adalah tipe data terstuktur yang berguna untuk menyimpan sejumlah data yang bertipe sama. Tetapi betapa sulitnya jika toko itu punya 10 atau 20 jenis yang berbeda. Perhatikan contoh penggunaan fungsi di bawah ini: 1: Program Tutorial4_Fungsi. ARRAY DAN RECORD Pernahkah kamu membayangkan bila kita mau membuat program toko buah-buahan.readln(buah[i]).

gampangkan? setelah mengetahui cara menggunakan array.harga). di situ dideklarasikan bahwa variabel data bertipe buah.harga). Untuk bisa menyimpan data di field.readln(data. Perhatikan baris ke 6. Ardhi Rizki Harahap @ ∆ .nama).readln(data.nama atau data. record adalah jenis tipe data terstruktur yang berisi beberapa data. Tidak seperti array. Untuk mencetak isi variabel yang sudah disimpan di array tadi caranya bisa dilihat di baris ke 11. Dengan hanya menggunakan satu nama variabel yaitu buah. sekarang kita belajar menggunakan record.. kita bisa menyimpan 3 nilai yang berbeda. Misalkan yang kita masukkan adalah melon. Apa yang bisa kamu ambil kesimpulan dari program di atas? Bingung? Jadi gini.. 7: Begin 8: write('nama buah: '). 5: end. Apalagi jika digabungkan dengan array. dengan menggunakan record (di sini bernama buah) kita bisa membuat tipe data yang berisi beberapa data yang berlainan tipe (nama dengan jenis string. dan harga dengan jenis long integer) yang ini disebut field. i . 13: End.nama). 12: writeln('harga'). 10: write('ditampilkan'). Nama buah disimpan dalam field nama dan harga buah disimpan di dalam field harga. Tipe data seperti ini sangat berguna kedepannya loohh. Setelah itu lihat baris ke 8 dan 9. buah[i]). Begitu juga bila kita ingin menampilkan isi field tersebut.harga). 11: write('nama'). 4: harga: longint. 9: write('harga buah: ').vxq. Lihat pada baris ke 7. buah[2] bernilai duku dan buah[3] bernilai mangga. Inc. .field (contohnya di sini data.writeln('Isi buah-buahan yang dimasukkan tadi adalah : ').readln(data. 2: type buah = record 3: nama: string.8: end. urutannya harus variabel.' : '. maka buah[1] bernilai melon. Perhatikan contoh: 1: Program Tutorial5_Record.readln(data. Bagaimana. 12: End. 9: writeln. 10: For i:= 1 to 3 do 11: writeln('buah ke'. yang masing-masing dapat berlainan tipe. 6: var data:buah. duku dan mangga. Otomatis yang dimiliki buah (nama dan harga) dimiliki juga oleh data.

maka writeln bisa digunakan) Membaca isi file. Setiap ingin melakukan manipulasi atau yang lainya. Memindahkan posisi file.. tetapi tidak menghapus isinya Menutup suatu file (lakukan setelah setelah file itu di manipulasi) Mengisi file dengan data. varn]). tetapi spasi dan tab diabaikan. varn]). Procedure Truncate(var f). ukuran: word]). Function SeekEoln(var f:text):boolean. apakah integer. Function FilePos(var f): longint. Function Eof(var f): Boolean. var2. NamaFile: string). Procedure Read(var f. Procedure Rewrite (var f). var1 [. Mengetahui jumlah data yang ada. Nilainya akan true kalau diakhir baris atau Eof memberikan nilai True. char atau bahkan record. Data pertama bernilai 0. Dipanggil setelah assign.. Penomoran data mulai dari 0. tetapi mengabaikan spasi. Menghapus data dari posisi sekarang sampai akhir file Menghasilkan status akhir baris file teks. Sama seperti Eoln. Procedure SetTextBuf(var f:text.. Yang bakal dijelasin di sini adalah file bertipe. maka file itu akan terbentuk. Function SeekEof(var f:text):boolean. maka isi file itu akan hilang.. harus melakukan ini dulu Apabila file tidak ada. defaultnya 128 byte. Sama seperti Eof.. var2. Membuka file yang sudah ada. Procedure Seek(var f. artinya harus disebutkan dulu tipe file tersebut. . . (apabila filenya bertipe text. Berikut ini adalah daftar prosedur dan fungsi yang berhubungan dengan program database file bertipe (no 12 sampai 16 hanya untuk file teks). Function Eoln(var f:text):boolean. Tetapi bila ada. Function FileSize(var f): longint.. Hasilnya akan True bila posisinya diakhir dan False apabila tidak diakhir. string.DATABASE Rasanya gak lengkap kalo buat program tapi gak bisa nyimpen data. N: longint). var1 [.vxq. Procedure Flush(var f:text). data akan disimpan ke file kalau penyangga file sudah penuh) Menentukan ukuran penyangga yang digunakan file. Penjelasannya di bawah ini: Pengacuan suatu file melalui variabel file. Procedure Close(var f). Prosedur ini menjamin bahwa data yang direkam benar-benar telah disimpan ke file (normalnya. Biasa digunakan untuk membaca/mengubah data. Procedure Reset(var f). maka readln bisa digunakan untuk membaca perbaris) Memeriksa akhir file. . Procedure Assign (var f. Semakin besar semakin cepat pemrosesannya. long integer. Ardhi Rizki Harahap @ ∆ . var buf[. Mengetahui posisi file sekarang. Procedure Write(var f. tab ataupun tanda akhir baris Mengosongkan penyangga (buffer) file teks yang dibuka untuk keluaran (perekaman). Inc. (apabila filenya bertipe text.

Ingat kan rumus menghitung sisi miring segitiga? yaitu akar dari jumlah kuadrat sisi-sisinya.. :D Ardhi Rizki Harahap @ ∆ . N artinya data ke-N. Perhatikan contoh di bawah ini: 1: Program Menghitung_Luas_dan_Keliling. Bukunya bagus juga. abis kepanjangan kalo ditulis di sini. 2: var alas. luas:0:2).readln(alas). Prosedur dan fungsi di atas gua ambil dari bukunya pak Ir. setelah variabel luas dan keliling dicetak ke layar ada tambahan ":0:2".. keliling: real. Sekarang kebaris 12 dan 13. menghitung luas dan keliling bangunan. 11: writeln. O iya. 8: luas:= 0. 15: end. maka ia akan mengembalikan nilai tergantung jenisnya (apabila boolean maka akan mengembalikan True atau False. Inc. 5: writeln('-------------------------------------').. 12: writeln('luas segitiga : '.. Bila dalam bentuk fungsi. sisimiring. CONTOH PROGRAM Program 1 : menghitung luas/keliling bangunan Yup. di sini gua gak ngasih contohnya loh.. 3: Begin 4: writeln('MENGHITUNG LUAS DAN KELILING SEGITIGA'). Apa yang beda hayoo. Bangunan yang dijadikan contoh adalah segitiga.. NamaFile artinya nama databasenya (bila perlu pathnya).5*alas*tinggi. Fungsi "sqrt" adalah untuk mengakarkan dan sqr untuk mengkuadratkan. keliling:0:2). luas. itu artinya variabel file.. Waahhh. Abdul Kadir. bila longint akan mengembalikan angka). sekarang kita buat program yang pertama. Gampangkan? iya donk.readln(tinggi). 7: write('Masukkan tinggi : '). Itu artinya :banyaknya alokasi angka:jumlah desimal. var1 artinya variabel yang bersesuaian dengan tipe filenya.Untuk contoh-contoh penggunaan prosedur dan fungsi di atas bisa di lihat di Program 9. 9: sisimiring:=sqrt(sqr(alas)+sqr(tinggi)). 14: readln. 13: writeln('keliling segitiga : '. kan tinggal maen logika.Bila ada tulisan var f.. tinggi. 6: write('Masukkan alas : '). . 10: keliling:= alas+tinggi+sisimiring... banyak yach? emang gitulah. ada 2 jilid tebel-tebel tapinya :D... Bahkan ada lagi yang lain loh untuk file tak bertipe.? betul.vxq.. Pemrograman Pascal. Pada baris 6 dan 7 adalah tempat memasukkan alas dan tinggi segitiga yang akan diproses di baris 8 sampai 10.

kalo bisa rasanya pengen nimpuk tu orang dengan hardisk SEAGATE BARACUDA 80 giga lima biji :)).Readln(bil2). 5: Write('Masukkan Bilangan Kedua : '). artinya sisa dari 7/3 (tujuh dibagi tiga) adalah 1. 5: writeln('-------------------------'). Pada baris ke-7 sampai 12 adalah tempat menentukan bilangan prima atau bukan. . Fungsi "mod" pada baris 9 dan 13 adalah sebagai sisa dari pembagian. 12: if bil mod 2 = 0 then 13: writeln(' dan genap') 14: else 15: writeln(' dan ganjil'). Masih ingat kan karateristik bilangan prima? bilangan yang hanya bisa dibagi 1 dan dirinya sendiri dan juga hampir semuanya ganjil. sakit hati emang :-(. Ardhi Rizki Harahap @ ∆ .. Jika ditulis "7 mod 3" maka hasilnya adalah 1. kan? :P Program 3 : menentukan bilangan terbesar (dengan if) Ini adalah program terakhir untuk mematangkan penggunaan kondisi if. Inc. genap dan prima Pernah kan pas di SD kita disuruh nentuin bilangan ini ganjil apa genap.Readln(bil3). 6: write('Masukkan angka: ').vxq. Pernah kah kalian membuat program dengan susah payah tetapi setelah ditunjukkan dengan orang lain. 6: Write('Masukkan Bilangan Ketiga : '). Berhubung bilangan prima dibawah 10 adalah persyaratan untuk bilangan diatas 10 (perhatikan baris ke 7 dan 9). 7: if ((bil=2) or (bil=3) or (bil=5) or (bil=7)) then 8: write('bilangan prima') 9: else if ((bil mod 2 <> 0) and (bil mod 3 <> 0) and (bil mod 5 <> 0) and (bil mod 7 <> 0)) then 10: write('bilangan prima') 11: else write('bukan bilangan prima'). Gimana? Tinggal maen logika. 2: Var bil1.. prima apa bukan. 2: var bil: longint. 1: Program JenisBilangan.. 3: begin 4: writeln('MENENTUKAN JENIS BILANGAN'). yaa.Readln(bil1). tapi fungsinya... He he he. jadi bilangan prima dibawah 10 ditulis manual.. gitulah :D 1: Program BilanganTerbesar. Sekarang kita jadiin program. bil3 :real.Program 2 : menentukan bilangan ganjil.readln(bil). 3: Begin 4: Write('Masukkan Bilangan Pertama : '). Ini salah satu program yang panjang.. 17: end. bil2. mereka bilang "Hanya gitu doank kerjanya?". 16: readln..

.bil3:0:0). Selain itu program ini bisa mendekteksi jika ada bilangan yang sama. 50: readln. . hanya itu intinya. Prinsip utama Ardhi Rizki Harahap @ ∆ . 49: End.bil1:0:0) 18: End 19: Else If bil1=bil3 then 20: Begin 21: Writeln('Bilangan Pertama dan Ketiga Adalah Sama').bil2:0:0) 24: Else 25: Writeln('Bilangan Terbesar Adalah '. Hue he he. 14: If Bil1 < bil3 then 15: Writeln('Bilangan Terbesar Adalah '.bil1:0:0) 34: End 35: End 36: Else If bil1 > bil2 then 37: Begin 38: If bil1 > bil3 then 39: Writeln('Bilangan terbesar adalah '. Yup. Inc.bil3:0:0).7: If (bil1=bil2) and (bil2=bil3) then 8: Writeln('Semua bilangan yang anda masukkan sama besar '. 42: End 43: Else If bil1 < bil2 then 44: Begin 45: If bil2 > bil3 then 46: Writeln('Bilangan terbesar adalah '.. 22: If Bil1 < bil2 then 23: Writeln('Bilangan Terbesar Adalah '.bil1:0:0) 26: End 27: Else If bil2=bil3 then 28: Begin 29: Writeln('Bilangan Kedua dan Ketiga Adalah Sama').bil1:0:0) 40: Else 41: Writeln('Bilangan terbesar adalah '.vxq.bil3:0:0) 16: Else 17: Writeln('Bilangan Terbesar Adalah '. 51: End. keren kan? dengan bermodalkan if kita bisa menentukan bilangan mana yang terbesar dari 3 bilangan yang dimasukkan.bil2:0:0) 47: Else 48: Writeln('Bilangan terbesar adalah '. 30: If Bil1 < bil3 then 31: Writeln('Bilangan Terbesar Adalah '.bil3:0:0) 32: Else 33: Writeln('Bilangan Terbesar Adalah '.bil1:0:0) 9: Else If (bil1=bil2) or (bil1=bil3) or (bil2=bil3) then 10: Begin 11: If bil1=bil2 then 12: Begin 13: Writeln('Bilangan Pertama dan Kedua Adalah Sama').

3: k : longint.. ' : '). Mudah bukan? lebih baik kalian ngerjain yang ini tanpa ngeliat tu program. Hhmmm. 26: end. 21: a[i+1]:=k 22: end. pasti ngerti).'. modus dan median Ardhi Rizki Harahap @ ∆ . Untuk pengembanganya kalian bisa menghitung mean. 20: end. bila ternyata angka sebelumnya lebih besar. j: integer. 5: begin 6: writeln('PROGRAM MENGGURUTKAN ANGKA'). gua harap kalian bisa nge-trace (menelusuri) algoritma programnya. 15: i:=j-1. apa lagi buat anak smu. 19: i:=i-1. i. Program 4 : penggurutan angka (looping) Pernahkah kalian dikasih nilai ulangan siswa lalu disuruh ngurutin dari yang kecil ke gede? Kalo jumlahnya dibawah 10 sih gak masalah.readln(a[i]) 11: end. lah kalo ada 100 biji kan berabe. 23: for i:=1 to 4 do 24: writeln(a[i]).vxq.. Ini solusinya: 1: Program Pengurutan... 7: writeln('--------------------------'). bisa diubah sesuai keinginan. Program ini berguna banget buat kalian yang hobi ngitung. Program ini dibatasi untuk 4 angka saja.5] of longint... Pada prinsipnya program ini memasukkan input ke dalam array. 8: for i:=1 to 4 do 9: begin 10: write('Masukkan bilangan ke.program ini hanya membandingkan bilangan satu dengan yang lain. 16: while (i>0) and (a[i]>k) do 17: begin 18: a[i+1]:=a[i]. 25: readln. maka dipindah posisinya (coba dech di trace. . sebenarnya gak perlu dijelasin lagi yach tu program. biar logikanya jalan. 4: a: array[1. 12: for j:=2 to 4 do 13: begin 14: k:=a[j]. kemudian membandingkannya. 2: var i. Inc..

3: Var i. Program di bawah ini akan memunculkan output berupa sekumpulan bintang yang membentuk tangga 1: Program BintangTangga. 9: writeln. x. 2: const akhir=18. 12: end. Gimana? baguskan? Sekarang tugas kamu membuat sekumpulan bintang berbentuk piramida dan berbentuk tangga terbalik (seperti program pertama di atas tetapi terbalik) Ardhi Rizki Harahap @ ∆ . j. kolom: integer. 4: begin 5: for baris:=1 to akhir do 6: begin 7: for kolom:=1 to baris do 8: write('*'). Sekarang kita coba menampilkan sekumpulan bintang yang membentuk kubus. 1: Program BintangKubus.vxq. Coba dech dijalankan. gimana hasilnya? menarik bukan?. y:integer. 8: For i:=1 to x do 9: Begin 10: for j:=1 to x do 11: Begin 12: y:=y+1. .Readln(x). 10: end. 2: uses crt. 3: var baris. 19: End. 13: write(y:4). 16: End.Program 5 : bintang (looping) Setelah sebelumnya kita bermain dengan if. Inc. sekarang ke for. 14: if y mod x=0 then 15: Writeln. 18: readkey. 4: Begin 5: clrscr. 6: Write('Masukkan Dimensi Kubus: '). 17: End. 11: readln. 7: y:=0.

3: var pilih: integer. 11: {copy dan paste program 4} 12: End. 4: Procedure luas. Ardhi Rizki Harahap @ ∆ . sekarang kita menggabungkan beberapa program sebelumnya dan dibuat menu. Pengurutan'). fungsi) Setelah dari tadi belajar logika. 30: 3 : Pengurutan. 13: begin {program utama} 14: repeat 15: clrscr. 29: 2 : JenisBilangan. 19: writeln(' 2. 16: writeln(' PILIHAN'). 22: writeln('-------------------------------------------'). Jenis Bilangan'). 10: Procedure Pengurutan. 8: {copy dan paste program 2} 9: end. 2 dan 4 dengan membuat menu (prosedur.vxq. 27: case pilih of 28: 1 : luas. Menghitung Luas'). 20: writeln(' 3. 32: end. 34: end. 23: writeln. 25: write(' Pilih Angka untuk Memilih Pilihan : '). 26: readln(pilih). Exit'). Ngertikan prisip kerjanya? Jadi program ini hanya akan berakhir jika user memilih no 4.Program 6 : penggabungan program 1. 18: writeln(' 1. 7: Procedure JenisBilangan. 31: 4 : exit. 21: writeln(' 4. Inc. 33: until pilih = 4. 5: {copy dan paste program 1} 6: end. 24: writeln. 17: writeln('-------------------------------------------'). Untuk contoh ini kita memanfaatkan repeat. 2: uses crt. 1: Program Gabung. .

Ardhi Rizki Harahap @ ∆ .readln(data[i]. 16: writeln. 25: end. 8: i:integer. Inc. 21: writeln('nama : '. 13: write('nama : ').nama). data[i].nrp). Perhatikan program di bawah ini: 1: Program Array_dan_Record.nama).alamat). Sekarang kita akan menggabungkan array dan record tersebut. 4: nama:string[25]. 15: end. Di dalam program tersebut dideklarasikan bahwa dmhs (data mahasiswa) itu adalah record yang mempunyai field nrp. 7: var data:array[1. data[i]. data[i]. Untuk menampilkannya bisa dilihat dibaris ke 18 sampai 23. 5: alamat:string[50]. nama dan alamat (lihat baris 2 sampai 6).readln(data[i]. Selanjutnya variabel data dideklarasikan bertipe dmhs yang berbentuk array (baris ke 7). 9: begin 10: for i:=1 to 3 do 11: begin 12: write('nrp : '). Kemudian seperti biasa untuk memasukkan data ke field digunakan "readln(data[i]. 23: end. 6: end.alamat). 2: type dmhs=record 3: nrp:string[10]. 17: writeln('Data ditampilkan').nrp)".Program 7 : toko (record dengan array) Pada tutorial 5 telah dijelaskan cara penggunaan array dan record.nrp). dst (baris 10 sampai 15).readln(data[i]. 24: readln.. 14: write('alamat : ').vxq. 18: for i:=1 to 3 do 19: begin 20: writeln('nrp : '. 22: writeln('alamat : '. .3] of dmhs.

2: urutan. 14: writeln('Yang ini insert').Program 8 : Operasi String Yang ini sebenarnya program tambahan. 1). dipikir-pikir.. jumlah yang di hapus).. nama).. 10: writeln(nama)... 13: nama:='DijasKeren'. Ehh.vxq. posisi. posisinya. posisinya). sekarang udah ada kok :p 1: var nama : string. nama). 15: writeln('Sebelum di Insert : '. posisi: integer. Sedangkan insert => insert(yang mau disisipkan. Outputnya seperti di bawah ini Yang ini delete Dijas Keren Dijas Kere Dijas Ker Dijas Ke Dijas K Dijas Dijas Dija Dij Di D Yang ini insert Sebelum di Insert : DijasKeren Setelah di Insert : Dijas-Keren Jadi isi penggunaan delete itu => delete(string.urutan. 5: writeln('Yang ini delete'). 17: writeln('Setelah di Insert : '. string. operasi tentang string kok gak ada? Tenaaannggg. 16: insert('-'. Gampang kan? Dengan ini bisa dibuat kayak Program 5 loh (tentang bintang). 11: end. 6). 6: for urutan:=1 to 11 do 7: begin 8: posisi:= 13 . Ardhi Rizki Harahap @ ∆ . . Inc. habis program-program sebelumnya kan kebanyakan bermain logika matematik (tentang angka melulu). 3: begin 4: nama:='Dijas Keren'. 12: writeln. 19: end. nama. 9: delete(nama. 18: readln.

length(string) : integer Fungsi ini untuk menghitung panjang atau jumlah karakter. 9: hasil:=hasil+tmp.readln(kata). string) : string Yang ini untuk menggabungkan string. Ardhi Rizki Harahap @ ∆ . Di program ini ada dua fungsi operasi string baru yang digunakan. 5: hasil:=''. 13: end. string awal):byte Fungsi ini untuk mengetahui posisi dari string/huruf dari kata/kalimat yang dimaksud. 12: readln. jumlah yang akan diambil) Fungsi ini untuk mengambil sejumlah huruf dari sting yang dimasukkan Pos(string/huruf yang akan dicari posisinya. Inc. 10: end.i.tmp:string.1). jadi hasil penggabungannya ditampung di Concat Ini program terakhir tentang operasi string. variabel string tempat hasilnya disimpan) prosedur ini untuk mengubah numerik ke string val(string. i:integer. 3: begin 4: write('Kata : '). yang ke tangkap yang pertama) Concat(string. yang dideteksi adalah posisi salah yang pertama (walaupun ada 5 biji yang salah. posisi salah) prosedur ini untuk mengubah string ke numerik.vxq. Bila bernilai nol berarti nilai string yang dicari tidak ada. 2: var kata. posisinya. . 11: write('Dibalik '. ini fungsi loohh. Khusus posisi salah.hasil). string. copy(string.hasil. program pembalik kata 1: program pembalik_kata.. 6: for i :=length(kata) downto 1 do 7: begin 8: tmp:=copy(kata.Bagaimana jika suatu saat kamu pengen ngerubah string jadi numerik atau numerik jadi string? str(angkanya:desimal yang diambil. variabel numerik tempat hasilnya disimpan.

dat')..vxq. 3: begin 4: writeln('MENGISI DATA'). 2: var fText : text. 'cecep'). 11: close(fText). perintahnya: Seek(fText. terutama mengenai database. data). 9: writeln(fText. reset(fText).. Fungsi ini biasa digunakan untuk membaca data yang ada dari awal/posisi tertentu sampai akhir. Prosedur yang digunakan di atas adalah prosedur no. Inc. 'nama. Perhatikan contoh berikut: 1: Program BuatFile. 5: writeln('------------'). Kalo kalian udah paham seluruh tutorial dan program yang ada di sini. Untuk membaca databasenya gunakan reset (jangan rewrite) dan gunakan prosedur no 6. . Setelah menempatkan kursor ditempat yang diinginkan. writeln(data).txt'). soalnya mulai dari posisi yang dimaksud sampai akhir file akan dihapus. Tapi hati-hati mengunakan Truncate. writeln(data). 1 sampai 5 yang ada di Tutorial 6.. Untuk pengembangannya coba cari program-program open source. data: string. 13: end. 'dian'). {gunakan reset(fText) bila file sudah ada} 8: writeln(fText. 12: readln. gunakan perintah write untuk mengedit atau prosedur Truncate untuk menghapus (perintahnya Truncate(fText)). 'dijas'). read(fText. data). Huuff. 6: assign(fText.. eof kepanjangan end of file while not eof(fText) do begin readln(fText.. 7: rewrite(fText). berarti kalian sudah melewati level basic. 10: writeln(fText. Fungsi dan prosedur lainnya bisa dicoba-coba sendiri yaaa. Selamat mencoba. Perhatikan contoh di bawah ini: assign(fText. 'bil. filesize(fText)). Bagaimana caranya jika ingin mengedit data yang sudah ada? Gunakan prosedur seek... Sekarang kita gunain fungsi nomor 7 yachh. akhirnya kelar juga ngebahas dasar-dasar pascal.Program 9 : Contoh penggunaan teori di tutor 6 Program database ini adalah contoh-contoh penggunaan fungsi dan prosedur dari Tutorial 6..… Ardhi Rizki Harahap @ ∆ . end.

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)//-->