Download - Laporan Pascal

Transcript

BAB 1V BAHASA PEMROGRAMAN PASCAL4.1 Tujuan4.1.1 4.1.2 4.1.3 4.1.4 Mengetahui dan memahami bahasa pemrograman Pascal. Mampu mengoperasikan Pascal. Memahami perintah-perintah pada Pascal. Dapat membuat program sederhana dengan menggunakan bahasa pemrograman Pascal. 4.1.5 4.1.6 4.1.7 4.1.8 Memahami perbedaan antara procedur dan fungsi Dapat mengoperasikan Pascal dengan baik Mengetahui tentang perkembangan bahasa pemrograman pascal Agar praktikan mampu menggunakan bahasa pemrograman pascal lebih mendalam. 4.1.9 Agar praktikan lebih mengetahui tentang struktur program dalam Pascal 4.1.10 4.1.11 4.1.12 4.1.13 Memahami tentang macam-macam larik dalam Pascal. Menguasai bahasa pemrograman Pascal lebih men-detail Mengetahui sejarah bahasa pemrograman Pascal Mampu memberikan pemecahan masalah-masalah yang terjadi dalam kebutuhan sehari-hari dengan bahasa pemrograman Pascal

4.2 Dasar Teori4.2.1 Sejarah Turbo Pascal Turbo Pascal pada awalnya adalah kompiler Blue Label Pascal yang dibuat untuk sistem operasi komputer mikro berbasis kaset, NasSys, milik Nascom tahun 1981 oleh Anders Hejlsberg. Kompiler tersebut ditulis ulang untuk CP/M dan dinamai Compas Pascal, dan kemudian dinamai Turbo Pascal untuk sistem operasi MS-DOS dan CP/M. Versi Turbo Pascal untuk komputer Apple Macintosh sebenarnya pernah ditembangkan tahun 1986, namun pengembangannya dihentikan sekitar tahun 1992. Versi-versi lain pernah tersedia pula untuk mesin-mesin CP/M seperti DEC Rainbow dalam beberapa pengembangan. 4.2.1.1 Versi 1 hingga versi 3 Borland membeli lisensi atas kompiler PolyPascal yang ditulis oleh Anders Hejlsberg (Poly Data adalah nama perusahaan yang didirikannya di Denmark), dan menambahkan antar muka pengguna serta editor. Anders kemudian bergabung sebagai karyawan dan menjadi arsitek atas semua versi kompiler Turbo Pascal dan tiga versi pertama Borland Delphi. Versi pertama dari Turbo Pascal, yang kemudian disebut sebagai versi 1, memiliki unjuk kerja yang sangat cepat dibandingkan kompiler pascal untuk komputer mikro lainnya. Kompiler tersebut tersedia untuk sistem operasi CP/M, CP/M-86, dan MS-DOS, dan penggunaannya sangat luas pada masa itu. Versi Turbo Pascal untuk CP/M saat itu bisa digunakan pada komputer Apple II yang sangat populer jika digunakan dengan sebuah Z-80 SoftCard, produk perangkat keras pertama yang ditembangkan microsoft di tahun 1980. Pada saat itu CP/M menggunakan format berkas executable yang sederhana dengan menggunakan ekstensi .COM; sistem operasi MS-DOS bisa menggunakan baik .COM (tidak kompatibel dengan format yang terdapat pada CP/M) maupun format .EXE. Turbo Pascal pada saat itu hanya mendukung kode biner berformat .COM, pada masa itu hal tersebut tidak menjadi suatu bentuk keterbatasan. Perangkat lunak Turbo Pascal itu sendiri merupakan sebuah berkas berekstensi .COM dan berukuran sekitar

28 kilobita, termasuk editor, kompiler, dan linker, dan rutin-rutin pustaka. Efisiensii proses edit/kompilasi/jalankan lebih cepat dibandingkan dengan implementasi paskal pada kompiler lainnya disebabkan semua elemen yang terkait dalam pengembangan program diletakkan pada memori komputer (RAM), dan karena kompilernya sendiri merupakan kompiler berjenis single-pass Screenshot compile programr yang ditulis dengan bahasa assembler. Unjuk kerja proses kompilasi sangat cepat dibandingkan dengan produk lain (bahkan dibandingkan dengan kompiler C milik Borland sendiri). Ketika pertama kali versi Turbo Pascal muncul pada tanggal 20 November 1983, jenis IDE yang digunakannya masih terbilang baru. Pada debutnya terhadap pasar perangkat lunak di Amerika, perangkat lunak tersebut dibandrol dengan harga USD$49.99. Kualitas kompiler pascal terintegrasi terdapat dalam Turbo Pascal sangat baik dibandingkan kompetitor lain dan atas fitur-fitur tersebut ditawarkan dengan harga yang terjangkau. Versi 2 dan 3 merupakan pengembangan lebih lanjut dari versi sebelumnya, mampu berkerja dalam memori, dan menghasilkan berkas biner berekstensi .COM/.CMD. Dukungan atas sistem operasi CP/M dan CP/M-86 dihentikan setelah versi 3. 4.2.1.2 Versi-versi lanjutan Versi 4, ditembangkan tahun 1987, merupakan perangkat lunak yang ditulis ulang untuk keseluruhan sistem. Kompiler menghasilkan berkas biner berekstensi .EXE pada MS-DOS, dan tidak lagi .COM. Sistem operasi CP/M dan C/M-86 tidak lagi didukung pada versi kompiler ini. Versi ini pula memperkenalkan sebuah antar muka berlayar penuh dengan yang dilengkapi dengan menu tarik; versi-versi awal memilik layar menu berbasis teks; dan editor berlayar-penuh. Microsoft Windows belum ada saat versi ini ditembangkan, dan bahkan pemanfaatan tetikus-pun masih jarang. Versi 5.x diperkenalkan dengan layar biru yang kemudian menjadi ciri khas yang sangat familiar, yang kemudian menjadi merek dagang

perusahaan perangkat kompiler MS-DOS sampai era DOS berakhir di pertengahan tahun 1990-an. Versi terakhir yang pernah ditembangkan adalah versi 7. Borland Pascal 7 terdiri atas sebuah IDE, dan kompiler untuk MS-DOS, DOS terekstensi, dan program Windows 3.x. Turbo Pascal 7 di sisi lain hanya bisa membuat program MS-DOS standar. Perangkat lunak tersebut dilengkapi pula dengan pustaka grafis yang mengabstraksi pemrograman dalam menggunakan beberapa driver grafis eksternal, namun unjuk kerja pustaka ini tidak memuaskan. 4.2.2 Struktur Program 4.2.2.1 Memasukkan dan Menampilkan Data Statement/prosedur standar: read atau readln. Prosedur read dan readln mempunyai aturan tertentu untuk beberapa tipe pengenal variabel. Tiap-tiap data yang dimasukkan harus sesuai dengan tipe variabelnya. Untuk memasukkan data diperlukan variabel : String : Memasukkan didefinisikan Integer Word Byte Shortint Longint Real : Numerik bulat(-32768 s/d 32768) : Numerik bulat (0 s/d 65535 ) : Numerik bulat (0 s/d 255) : Numerik bulat (-128 s/d 127 ) : Numerik bulat (-214783648 s/d 2147483647) : Numerik real sampai 30 digit data karakter sepanjang yang

4.2.2.2 Menampilkan data Statement/prosedur standar: write dan writeln. Perbedaan dari write dan writeln adalah, prosedur standar write menampilkan hasil tanpa ganti baris dan tampilan berikutnya akan disambung dalam baris yang sama. Sedang prosedur standar writeln digunakan

untuk menampilkan tampilan perbaris, akan ganti baris untuk tampilan berikutnya. Write dan writeln Prosedur standar write dan writeln digunakan untuk menampilkan data. Perbedaannya adalah prosedur write

menampilkan hasil tanpa ganti baris dan tampilan berikutnya akan disambung dalam baris yang sama. Sedang prosedur writeln digunakan untuk menampilkan tampilan perbaris, akan ganti baris untuk tampilan berikutnya. 4.2.3 Statement dalam PASCAL Statement adalah perintah pengerjaan program dan kumpulan statement membentuk program. Statement dalam pascal dikelompokkan dalam 2 bagian, yaitu :y Statement sederhana y Statement terstruktur

Statement sederhana terdiri atas :y Statement pengerjaan (assignment) y Statement prosedur y Statement goto

Statement terstruktur terdiri atas :y statement jamak, harus ditulis dalam blok begin dan end. tersendiri. y statement kondisi y statement if then else y statement case of y statement perulangan y statement for to do y statement for downto - do y statement while - do y statement repeat until

4.2.4

Tampilan Default Tampilan default merupakan tampilan yang mengikuti bentuk

pengaturan default yang sudah ditentukan oleh Pascal. 4.2.4.1 Default tampilan tipe integer 4.2.4.2 Default tampilan tipe real 4.2.4.3 Default tampilan tipe char 4.2.4.4 Default tampilan tipe string 4.2.4.5 Default tampilan tipe Boolean 4.2.5 Parameter 4.2.5.1 Parameter CH : N 4.2.5.2 Parameter S : N 4.2.5.3 Parameter I : N 4.2.5.4 Parameter R : N 4.2.5.5 Parameter R : N : M 4.2.6 Prosedur CLRSCR 4.2.7 Prosedur GOTOXY 4.2.8 Prosedur CLREOL Penyeleksian Kondisi Hampir tiap program aplikasi yang kompleks mengandung suatu penyeleksian kondisi. Dengan menyeleksi suatu kondisi, program dapat menentukan tindakan apa yang harus dikerjakan, tergantung dari hasil kondisi yang diseleksi tersebut. Untuk menyeleksi suatu kondisi tersebut, di dalam Pascal digunakan statemen IF dan CASE.

Struktur Program IF THENStruktur Sintak statement IF adalah : IF kondisi THEN statement

Jadi bila kondisi dipenuhi maka statement akan dijalankan. Penulisan kondisi dapat bermacammacam. Biasanya menggunakan operator pembanding, misalnya :IF A > 0 THEN

IF B = A THEN IF C 0) and (A 60 then writeln(LULUS) else writeln(TIDAK LULUS); end.

Gambar 3.141 Screenshot IF THEN ELSE

Gambar 3.142 Screenshot compile program

Gambar 3.143 Screenshot running program

3.144 Screenshot input nilai ujian

3.145 Screenshot running keluaran program

3.146 Screenshot input nilai ujian

3.147 Screenshot running keluaran program

4.4.8 FOR TO DO Digunakan sebagai statemen perulangan (loop) dalam bahasa Pascal. Perintah ini digunakan bila nilai awal lebih kecil dari nilai akhir. Contoh :program tampil; uses wincrt; var a:integer; begin for a:=1 to 5 do writeln( Saya tulis ini lima kali); end.

Gambar 3.148 Screenshot FOR TO DO

Gambar 3.149 Screenshot compile program

Gambar 3.150 Screenshot running program

4.4.9 FOR DOWNTO DO FOR DOWNTO DO juga merupakan perintah perulangan seperti FOR TO DO. Bedanya FOR DOWNTO digunakan bila nilai awal lebih besar dari nilai akhir. Contoh :

program tampil; uses wincrt; var b:integer; begin for b:=5 downto 2 do writeln( b bernilai ,b); writeln(b adalah bilangan asli); end.

Gambar 3.151 Screenshot FOR DOWNTO DO

Gambar 3.152 Screenshot compile program

Gambar 3.153 Screenshot running program

4.4.10 WHILE DO WHILE DO digunakan sebagai statemen perulangan dalam bahasa Pascal. Dalam WHILE DO biasanya ada lebih dari satu statemen karena bila hanya ada satu statemen saja, maka akan terjadi perulangan yang tak berkesudahan karena tidak ada yang mengontrol ungkapan logika. Contoh :program tampil; uses wincrt; var b:char; begin b:=y; while b = y do begin write (mau ditanya lagi [Y/T]?); readln(b); end; end.

Gambar 3.154 Screenshot WHILE DO

Gambar 3.155 Screenshot compile program

Gambar 3.156 Screenshot running program

4.4.11 Procedure Dengan prosedur, maka pembuatan program yang panjang dan kompleks dapat dipecah-pecah menjadi prosedur-prosedur yang sederhana. Begitu pula untuk urutan perintah yang dipakai berkalikali cukup dituliskan sekali saja dengan prosedur. Bila urutan perintah itu akan dipakai, maka tinggal dipanggil saja prosedur itu. Contoh :

program judul_program; uses wincrt; procedure nama_procedure; begin writeln ('saya procedure'); end; begin nama_procedure; end.

Gambar 3.157 Screenshot Procedure

Gambar 3.158 Screenshot compile program

Gambar 3.159 Screenshot running program

4.4.11.1 Pass by value Contoh :uses wincrt; procedure hitung ( A,B,C : integer ) ; begin C := A + B ; writeln ( A,B,C ) ; end; { 'program hitung' } var X,Y,Z : integer ; begin X := 1 ; Y := 2 ; Z := 0 ; hitung ( X,Y,Z ); writeln ( X,Y,Z ); end.

Gambar 3.160 Screenshot Procedure (pass by value)

Gambar 3.161 Screenshot compile program

Gambar 3.162 Screenshot running program

Dari hasil di atas kita dapat mengetahui hasil pertama adalah hasil penjumlahan dari nilai A dan B,yang dilambangkan dengan nilai C, yaitu untuk nilai A = 1 nilai B = 2 nilai C = 0,sehingga A+B=1+2 adalah 3,kemudian ditampilkan 123. Hasil kedua yang ditampilkan merupakan tampilan dari nilai X,Y,dan Z yang masing-masing adalah 1 , 2, dan 0.

Di sini kita dapat mengetahui bahwa pengiriman secara nilai berlangsung satu arah,jadi dalam hal ini nilai X=A, Y=B, sedangkan CZ, karena nilai C tidak dikembalikan ke Z. Jadi, prosedur pass by value berjalan dengan baik.

4.4.11.2 Pass by reference Contoh :uses wincrt; procedure hitung (var A,B,C : integer); begin C:=A+B; writeln (A,B,C); end; var X,Y,Z:integer; begin X:= 1 ; Y := 2 ; Z := 0 ; Hitung (X,Y,Z); writeln (X,Y,Z); end.

Gambar 3.163 Screenshot Procedure (pass by reference)

Gambar 3.164 Screenshot compile program

Gambar 3.165 Screenshot running program

Dari hasil di atas kita dapat mengetahui hasil pertama adalah hasil penjumlahan dari niali A dan B,yang dilambangkan dengan nilai C, yaitu untuk nilai A = 1 dan nilai B = 2,sehingga A+B=1+2 adalah 3,kemudian ditampilkan 123. Hasil kedua yang ditampilkan merupakan tampilan dari nilai X=1,Y=2,dan Z=3, karena pengiriman secara acuan berlangsung dua arah, sehingga nilai X=A, Y=B, dan Z=C, karena nilai C dikembalikan ke Z. Jadi, prosedur pass by reference berjalan dengan baik.

4.4.12 Larik 4.4.12.1 Larik Dimensi Satu Contoh :Program mengurutkan_nomor ; {nama Uses wincrt ; Type Larik = array [1..30] of longint ; Var {deklarasi tipe indeks }

program}

Nomor : larik ; Jumlah_nomor : integer ; {variabel

global}

Procedure memasukkan_data ; {fungsi 1} Var m :=1 to jumlah _nomor do {variabel Begin Write (nomor ke,m, :) ; Readln (nomor [m]) ; End ; End ; Procedure urut_nomor ; {fungsi 2} Var k, l : integer ; Simpan : longint ; {variabel Begin For k :=1 to (jumlah_nomor) do {perulanagn k} For l :=(k+1) to jumlah_nomor do {perulangan 1}

fungsi 1 }

fungsi 2}

If nomor [l]