pengantar pascal

43
PEMROGRAMAN PASCAL UNTUK STATISTIK Konsep & Implementasinya dalam Bahasa Free Pascal di GNU/Linux Bogor, November 2011

Upload: angel-ciipcintapersibfolevle

Post on 25-Jul-2015

87 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Pengantar Pascal

PEMROGRAMAN PASCAL UNTUK STATISTIK

Konsep & Implementasinya dalam Bahasa Free Pascal di GNU/Linux

Bogor, November 2011

Page 2: Pengantar Pascal

Sesi ke 8Pengantar PASCAL

2 x 50 menit

Tujuan Instruksional Umum :

Dalam pertemuan ini Anda akan diajak untuk mengenal bahasa pemrograman tingkat tinggi (high level language) PASCAL dan Mengerti dan Memahami Algoritma Pemrograman.

Page 3: Pengantar Pascal

Sesi ke 8Pengantar PASCAL

2 x 50 menit

Tujuan Instruksional Khusus :

Membahas secara rinci pengertian pemrograman dan bahasa pemrograman.

Membahas secara rinci pengertian Algoritma dan Langkah-Langkah Pemrograman

Mengenal Bahasa PASCAL mencakup perkembangan bahasa PASCAL dan struktur Bahasa PASCAL

Mengenal Tipe Kesalahan Dalam Pemrograman

Manjalankan PASCAL di Lingkungan LINUX

Page 4: Pengantar Pascal

PEMROGRAMAN DAN BAHASA PEMROGRAMAN

Page 5: Pengantar Pascal

Bahasa Pemrograman

Kita menggunakan bahasa tertentu untuk dapat berkomunikasi dengan orang lain.Karena komputer hanyalah sebuah benda (hardware) maka untuk dapat berkomunikasi dengan komputer, kita butuh sarana tertentu.Komputer memerlukan program (software) yang memungkinkan kita dapat berkomunikasi.

Page 6: Pengantar Pascal

Bahasa Pemrograman

Programming Language adalah suatu bahasa ataupun tata cara yang dapat kita gunakan untuk berkomunikasi secara langsung dengan komputer.

Bahasa pemrograman dapat dikelompokkan dalam berbagai sudut pandang, salah satu kategori pembagian bahasa pemrograman adalah berdasarkan notasi bahasa pemrograman tersebut lebih dekat ke bahasa mesin atau bahasa mausia.

Low Level Language dekat ke mesinHigh Level Language dekat ke manusia

Page 7: Pengantar Pascal

Generasi Bahasa Pemrograman

Generasi I : machine languageGenerasi II : assembly language : AsssemblerGenerasi III : high-level programming language: C, PASCAL, dsb.Generasi IV : 4 GL (fourth-generation language): Prolog, SQL, Visual tool, dsb

Page 8: Pengantar Pascal
Page 9: Pengantar Pascal

Jenis Bahasa PemrogramanBerdasar Metodanya

Pemrograman tidak terstruktur : Basica, Fortran, … Pemrograman terstruktur : Pascal, C/C++, … Pemrograman berorientasi objek : C++, Java, … Pemrograman visual : VB, Delphi, …

Page 10: Pengantar Pascal

Pemrograman prosedural : Pascal, C, … Pemrograman fungsional : Lisp Pemrograman deklaratif : Prolog Pemrograman berorientasi objek : Java Pemrograman prosedural sekaligus berorientasi objek : C++

Jenis Bahasa PemrogramanBerdasar Bentuk (corak kode)

Page 11: Pengantar Pascal

Pemrograman stand-alone Pemrograman client/server Pemrograman web : HTML, Script Pemrograman jaringan

Jenis Bahasa PemrogramanBerdasar Tujuan (hasil)

Page 12: Pengantar Pascal

Jenis Bahasa PemrogramanBerdasar Cara Penterjemahan

Interpreter : Basica, Foxpro, Matlab,… Compiler : Turbo Basic, Pascal, C/C++, …

Page 13: Pengantar Pascal

Secara sederhana sebuah komputer hanya dapat mengeksekusi program yang ditulis dalam bentuk bahasa mesin, oleh karena itu jika suatu program yang ditulis dalam bentuk bahasa tingkat tinggi, maka program tersebut harus diproses dulu sebelum dijalankan di komputer

Proses untuk merubah bentuk dari bahasa tingkat tinggi ke bahasa tingkat rendah disebut sebagai TRANSLATOR.

Ada 2 (dua) tipe translator, yakni COMPILER dan INTERPRETER

Page 14: Pengantar Pascal

Translator melakukan pengubahan source code / source program kedalam target code / object code

Translator

Interpreter

Compiler

Tidak membangkitkan object code

Source code dan data diproses bersamaan

Contoh, BASICA, SPSS, DBASE III

Source Code adalah bahasa tingkat tinggi.

Object Code adalah bahasa mesin atau assembly

Source code dan data diproses tidak bersamaan

Contoh, PASCAL, C

Assembler

Source Code adalah bahasa Assembly

Object Code adalah bahasa mesin

Contoh, Turbo Assembler

Page 15: Pengantar Pascal

Bisakah Memberikan Contoh Kompiler ?

Kalau saya menggunakan bahasa C untuk membuat program, kompiler apa yang saya butuhkan ?

Kalau saya menggunakan bahasa Pascal untuk membuat program, kompiler apa yang saya butuhkan ?

Kalau saya menggunakan bahasa Fortran untuk membuat program, kompiler apa yang saya butuhkan ?

ObjectProgram

source code kompilator

Page 16: Pengantar Pascal

Bisakah Memberikan Contoh Kompiler ?

Untuk mengkompilasi sebuah program dalam bahasa C menjadi bahasa mesin sehingga dapat dieksekusi dibutuhkan sebuah program bernama kompiler.

Di dalam sistem operasi LINUX terdapat sebuah kompilter yang sangat terkenal, yaitu GCC. Kompiler ini ditulis oleh Ricahard M stallman (Bapak GNU Project).

GCC akronim GNU C Compiler. Karena GCC tidak hanya mendukung bahasa C, namun juga Fortran, Java, maka namanya diubah menjadi : GNU Compiler Collection.

Bahasa C menggunakan compiler GCCBahasa C++ menggunakan compiler GCC-C++

Page 17: Pengantar Pascal

Bagaimanakah Untuk Pascal ?

Untuk mengkompilasi sebuah program dalam bahasa Pascal menjadi bahasa mesin sehingga dapat dieksekusi dibutuhkan sebuah program bernama kompiler bernama fpc – Free Pascal Compiler.

Penamaan kode sumber bahasa Pascal adalah disimpan dalam ekstensi *.pas atau .pp.Kemudian setelah program selesai dibuat, maka proses kompilasinya adalah dengan mengetikkan perintah :FPC nama_file

catatan : Untuk slackwre disrankan untuk instalasi Pascal Compiler fpc versi . . . yg dapat didownload di . . .

Page 18: Pengantar Pascal

A L G O R I T M A

Page 19: Pengantar Pascal

Pengertian Algoritma

“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”.Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar.

Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman.Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman.

Page 20: Pengantar Pascal

Pengertian Algoritma

Program = Algoritma + Bahasa (Struktur Data)

Page 21: Pengantar Pascal

Cara Penulisan Algoritma

Algoritma sebagai langkah-langkah pemecahan masalah dapat dituliskan dengan beberapa cara, yaitu :1. Uraian deskriptif2. Pseudocode3. Bagan Alir (Flow Chart)

Page 22: Pengantar Pascal

Cara Penulisan Algoritma

Pseudocode adalah kode yang mirip dengan kode pemrograman yang sebenarnya seperti Pascal, atau C, sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada pemrogram

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu.Sedangkan antara proses digambarkan dengan garis penghubung.

Page 23: Pengantar Pascal

Masalah : Menjumlahkan deret bilangan genap“Diberikan bilangan bulat non negatif b. Jumlahkan bilangan genap mulai dari 0 sampai dengan b

Jika diberikan bilangan b, maka bilangan genap antara nol sampai b akan dijumlahkan. Misalkan dinotasikan sebagai jumlah(b).

Contoh :jumlah(11)= 2 + 4 + 6 + 8 + 10jumlah(5) = 2 + 4

Page 24: Pengantar Pascal

Deskriptif :

1. Baca nilai batas, b2. Isi i dan j dengan 03. Jika i < b, maka

a. naikkan harga i dan tambahkan i pada j jika genapb. ulangi langkah 3

tambahkan 1 pada iJika i mod 2 = 0 tambahkan i pada j

Page 25: Pengantar Pascal

Pseudocode :

input(b)i ← 0j ← 0while i < b, doi ← i + 1

if i mod 2 = 0 thenj ← j + i

output(j)

hasil bagi a dan b dinotasikan dengan a div b

sisa pembagian a dan b dinotasikan a mod bmisalkan sebuah i sebuah bilangan, maka i adalah bilangan genap jika I mod 2 = 0

Page 26: Pengantar Pascal

Pseudocode :

input(b)i ← 0j ← 0while i < b, doi ← i + 1

if i mod 2 = 0 thenj ← j + i

output(j)

hasil bagi a dan b dinotasikan dengan a div b

sisa pembagian a dan b dinotasikan a mod bmisalkan sebuah i sebuah bilangan, maka i adalah bilangan genap jika I mod 2 = 0

Page 27: Pengantar Pascal

Simbol-simbol untuk menggambarkan Flow Chart

Mulai atau Selesai

Proses

Pencabangan

Input atau Output

Page 28: Pengantar Pascal

Flow Chart : start

input(b)

i ← 0j ← 0

i< b ?

i ← i + 1

i mod 2 = 0?

j ← j + i

output(j)

finish

true

false

false

true

b = 4i ← 0j ← 00 <4 ? --- benari ← 0 + 1 --- nilai i = 11 mod 2 = 0 ---salah

1 < 4 ? ---benari ← 1 + 1 ---nilai i = 22 mod 2 = 0 ---benarj ← 0 + 2 --- j bernilai 2

2 < 4 ? ---benari ← 2 + 1 --- nilai i = 33 mod 2 = 0 ---salah

3 < 4 ? ---benari ← 3 + 1 --- nilai i = 44 mod 2 = 0 –--benarj ← 2 + 4

4 < 4 .---salahj = 6

Page 29: Pengantar Pascal

Beberapa bentuk logikaterstruktur dengan flow chart

1. Struktur Sederhana, simple sequence 2. Struktur 1 pilihan dengan IF-THEN

Page 30: Pengantar Pascal

3. Struktur 2 pilihan dengan IF-THEN-ELSE

Page 31: Pengantar Pascal

4. Struktur banyak pilihan dengan IF-THEN-ELSE

Page 32: Pengantar Pascal

5. Struktur banyak pilihan dengan CASE

Page 33: Pengantar Pascal

Syarat Algoritma

1. Algoritma tidak ambigu. Deskripsi langkah-langkah dalam algoritma harus dan hanya mempunyai tafsiran tunggal.

2. Algoritma harus tepat (precise). Algoritma harus menyatakan urutan langkah-langkahnya. Kapan langkah x dilakukan, apakah sebelum y atau sesudahnya dan algoritma harus jelas menyatakan kapan harus berhenti dari sebuah langkah untuk meneruskan langkah berikutnya.

3. Algoritma harus pasti (definite). Jika serangkaian yang sama dilakukan dua kali maka hasilnya harus sama.

Page 34: Pengantar Pascal

LATIHAN SOAL :

1. Ambil sebungkus mie instan dan pelajari cara memaskknya. Buatlah uraian cara memasak tersebut menjadi sebuah algoritma yang mempunyai ciri-ciri algoritma yang baik.

2. Apa perbedaan dalam mempelajari pemrograman dan mempelajari bahasa pemrograman ? Menurut Anda manakah yang lebih penting ?

3. Buatlah algoritma untuk menjumlahkan 4 buah bilangan prima yang pertama.

4. Buatlah algoritma untuk mencari nilai rata-rata dari tiga buah bilangan.

Page 35: Pengantar Pascal

jumlah = 0cacah = 0input(n)for i = 1 to n do

input(bil)if x = 2 then status ='prima'else

if x<=1 or x mod 2 = 0then st = 'bukan prima'

endifelse

pembagi = 3st = 'prima'batascek = round (sqrt(bil))while pembagi <=batascek and st='prima' do

if x mod pembagi = 0 then st='bukan prima'else pembagi = pembagi + 2endwhileendif

endifif st = 'prima' then

jumlah = jumlah + bilcacah = cacah + 1

endifendforrata = jumlah/cacahoutput(jumlah)output(rata)

Page 36: Pengantar Pascal

P A S C A L

Page 37: Pengantar Pascal

➢ Pascal adalah bahasa tingkat tinggi ( high level language) yang orientasinya pada segala tujuan

➢ Nama pascal diambil sebagai penghargaan terhadap BLAISE PASCAL seorang ahli matematika & philosophi di abad 17 di prancis

➢ Prof NIKLAUS WIRTH memperkenalkan kompiler bahasa pascal pertama kali untuk komputer CDC 6000 ( Control Data Corporation ) di tahun 1971

Page 38: Pengantar Pascal

Tujuan pertama kalinya adalah untuk membantu mengajar program komputer secara sistematis, khususnya untuk memperkenalkan pemrograman yang terstruktur ( structured programming)

Standar pascal adalah bahasa pascal yang didefinisikan oleh K. JENSEN dan NIKLAUS WIRTH

Page 39: Pengantar Pascal

Beberapa versi dari pascal yang telah beredar di pasaran, diantaranya :

1. UCSD pascal ( University of California at San Diego Pascal )

2. MS-Pascal ( Microsoft Pascal )

3. Apple pascal

4. Turbo Pascal ( versi yang paling populer dan banyak digunakan karena bersifat interctive seperti pada penggunaan interpreternya )

Page 40: Pengantar Pascal

Program adalah urutan-urutan instruksi untuk menjalankan suatu komputasi.

input : mengambil data dari keyboard, mouse, file, atau device lainoutput : menampilkan data ke monitor atau device lainmath : melakukan operasi dasar matematika (+, - dll)conditional : pemilihan suatu kondisi dan mengekseskusi sesuai dengan statemen

selanjutnyaiteration : operasi perulangan

sintaks

logika

run-time

Page 41: Pengantar Pascal

Struktur Bahasa PASCAL

Program ProgramName;CONST

(* Constant Declaration *)TYPE

(* Type Declaration *)VAR

(* Variable Declaration *)(*Sub Program Defenitions *)

BEGIN(* Executable Statement *)

END.

masing2 elemen terususun secara benar

Jika tidak diperlukan bisa dihilangkan

Page 42: Pengantar Pascal

Contoh Program PASCAL

Program Pertama; (*Nama Program *)Var { Deklarasi Variabel }

Nilai, Jumlah : Integer;Nama : string;Harga : Double;

Begin { Awal Program }Nilai :=10; { Memberi Nilai }Nama := 'Buku';Write('Jumlah : '); {Output}Readln(Jumlah); {Input}Write(“harga : ');Readln(Harga);Write(Nama,' Berjumlah ',Jumlah);

End. {Akhir Program}

jalankan fp

pilih compile dan run

Page 43: Pengantar Pascal

Contoh Program PASCAL

BEGIN

END.

Dlm bahasa PASCAL untuk memulai suatu program harus dimulai dengan kata Begin dan sebagai penutup program harus diakhiri dengan kata End dan diikuti titik (End.)

Penulisan komentar dengan cara mengapit komentar dengan menggunakan (* komentar *) atau { komentar }

PASCAL membutuhkan titik koma (semi colon) di belakang setiap statement.