pengantar pascal
TRANSCRIPT
PEMROGRAMAN PASCAL UNTUK STATISTIK
Konsep & Implementasinya dalam Bahasa Free Pascal di GNU/Linux
Bogor, November 2011
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.
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
PEMROGRAMAN DAN BAHASA PEMROGRAMAN
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.
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
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
Jenis Bahasa PemrogramanBerdasar Metodanya
Pemrograman tidak terstruktur : Basica, Fortran, … Pemrograman terstruktur : Pascal, C/C++, … Pemrograman berorientasi objek : C++, Java, … Pemrograman visual : VB, Delphi, …
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)
Pemrograman stand-alone Pemrograman client/server Pemrograman web : HTML, Script Pemrograman jaringan
Jenis Bahasa PemrogramanBerdasar Tujuan (hasil)
Jenis Bahasa PemrogramanBerdasar Cara Penterjemahan
Interpreter : Basica, Foxpro, Matlab,… Compiler : Turbo Basic, Pascal, C/C++, …
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
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
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
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++
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 . . .
A L G O R I T M A
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.
Pengertian Algoritma
Program = Algoritma + Bahasa (Struktur Data)
Cara Penulisan Algoritma
Algoritma sebagai langkah-langkah pemecahan masalah dapat dituliskan dengan beberapa cara, yaitu :1. Uraian deskriptif2. Pseudocode3. Bagan Alir (Flow Chart)
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.
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
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
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
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
Simbol-simbol untuk menggambarkan Flow Chart
Mulai atau Selesai
Proses
Pencabangan
Input atau Output
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
Beberapa bentuk logikaterstruktur dengan flow chart
1. Struktur Sederhana, simple sequence 2. Struktur 1 pilihan dengan IF-THEN
3. Struktur 2 pilihan dengan IF-THEN-ELSE
4. Struktur banyak pilihan dengan IF-THEN-ELSE
5. Struktur banyak pilihan dengan CASE
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.
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.
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)
P A S C A L
➢ 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
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
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 )
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
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
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
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.