pertemuan 1 & 2 pascal

Upload: muhammad-mabrur

Post on 08-Apr-2018

237 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/7/2019 Pertemuan 1 & 2 Pascal

    1/21

    11

    PEMROGRAMAN PASCALPEMROGRAMAN PASCAL

    SejarahSejarah PascalPascal

    PascalPascal merupakanmerupakan pengembanganpengembangan daridaribahasabahasa ALGOL 60,ALGOL 60, bahasabahasa pemrogramanpemrogramanuntukuntuk sainssains komputasikomputasi.. TahunTahun 1960,1960,beberapabeberapa ahliahli komputerkomputer bekerjabekerja untukuntukmengembangkanmengembangkan bahasabahasa ALGOL,ALGOL, salahsalahsatunyasatunya adalahadalah Dr.Dr. NiklausNiklaus WirthWirth daridari SwissSwissFederal Institute of Technology (ETHFederal Institute of Technology (ETH--Zurich),Zurich),yangyang merupakanmerupakan anggotaanggota grupgrup yangyangmembuatmembuat ALGOL.ALGOL. TahunTahun 1971,1971, diadiamenerbitkanmenerbitkan suatusuatu spesifikasispesifikasi untukuntuk highlyhighly--structured language (structured language (bahasabahasa tinggitinggi yangyangterstrukturterstruktur) yang) yang menyerupaimenyerupai ALGOL.ALGOL. DiaDiamenamainyamenamainya dengandengan PASCAL (PASCAL (daridari namanamaBlaiseBlaise Pascal,Pascal, ahliahli matematikamatematika && philosophiphilosophiterkenalterkenal abadabad 1717 daridari PerancisPerancis).).

  • 8/7/2019 Pertemuan 1 & 2 Pascal

    2/21

    SejarahSejarah PascalPascal Lanjut ..Lanjut ..

    PascalPascal bersifatbersifat data oriented,data oriented, yaituyaituprogrammerprogrammer diberidiberi keleluasaankeleluasaan untukuntukmendefinisikanmendefinisikan datadata sendirisendiri. Pascal. Pascal

    jugajuga merupakanmerupakan teaching languageteaching language((banyakbanyak dipakaidipakai untukuntuk pengajaranpengajarantentangtentang konsepkonsep pemrogramanpemrograman).).KelebihanKelebihan yang lainyang lain adalahadalah penulisanpenulisankodekode Pascal yangPascal yang luwesluwes,, tidaktidak sepertisepertimisalnyamisalnya FORTRAN, yangFORTRAN, yang memerlukanmemerlukanprogrammerprogrammer untukuntuk menulismenulis kodekode

    dengandengan formatformat tertentutertentu..22

  • 8/7/2019 Pertemuan 1 & 2 Pascal

    3/21

    33

    PASCALPASCAL sebagaisebagai bahasabahasa terstrukturterstruktur

    SebagaiSebagai bahasabahasa terstrukturterstruktur, PASCAL, PASCALmempunyaimempunyai ciriciri--ciriciri sebagaisebagai berikutberikut::1.1.BerurutanBerurutan

    SusunanSusunan daridari kodekode--kodekode dalamdalam teksteks PascalPascal

    harusharus ditulisditulis secarasecara uruturut daridari atasatas,,pernyataanpernyataan--pernyataanpernyataan yangyang ditulisditulis lebihlebihawalawal akanakan dieksekusidieksekusi lebihlebih dahuludahulu.. OlehOlehkarenakarena ituitu,, suatusuatu pernyataanpernyataan yangyangmenyangkutmenyangkut suatusuatu variabelvariabel didi dalamdalam

    program,program, makamaka variablevariable ituitu harusharus terdefinisiterdefinisidahuludahulu sebelumnyasebelumnya. Hal. Hal iniini terutamaterutamamenyangkutmenyangkut padapada pemanggilanpemanggilan subsub--programprogramoleholeh subsub--program yang lain.program yang lain. BisaBisa dibacadibacalebihlebih lanjutlanjut padapada bagianbagian subsub--program.program.

  • 8/7/2019 Pertemuan 1 & 2 Pascal

    4/21

    2.2.BlokBlok dengandengan batasbatas--batasbatas yangyang jelasjelas..PascalPascal memberikanmemberikan pembataspembatas yangyang jelasjelas padapadatiaptiap--tiaptiap blokblok,, sepertiseperti padapada blokblok programprogramutamautama, sub, sub--program,program, strukturstruktur kontrolkontrol((pengulanganpengulangan// pemilihanpemilihan),), dlldll.. PemakaianPemakaiankatakata kuncikunci beginbegin untukuntuk mengawalimengawali operasioperasipadapada blokblok dandan endend untukuntuk menutupnyamenutupnyamemudahkanmemudahkan programmerprogrammer menyusunmenyusunprogramnyaprogramnya dengandengan mudahmudah.. SepertiSeperti contohcontoh::If X>0 thenIf X>0 then

    begin Write ( begin Write ( bilanganbilangan positifpositif););WritelnWriteln ( program( program selesaiselesai););end;end;

    44

    PASCAL sebagai bahasa terstrukturPASCAL sebagai bahasa terstruktur

  • 8/7/2019 Pertemuan 1 & 2 Pascal

    5/21

    55

    PASCAL sebagai bahasa terstrukturPASCAL sebagai bahasa terstruktur

    3.3. SatuSatu pintupintu masukmasuk dandan satusatu pintupintukeluarkeluar padapada blokblok pemilihanpemilihan dandan

    pengulanganpengulangan.. ContohContoh didi atasatas jugajugamengilustrasikanmengilustrasikan pintupintu masukmasuk tunggaltunggalpadapada suatusuatu blokblok pemilihanpemilihan yaituyaitu suatusuatutesttest logikalogika X>0,X>0, dengandengan pintupintu

    keluarankeluaran yangyang satusatu pula (pula (satusatu disinidisinimaksudnyamaksudnya bukanbukan duadua barisbaris perintahperintahoutputoutput tapitapi suatusuatu paketpaket perintahperintah yangyang

    dirangkaidirangkai dengandengan begin .. end.begin .. end.

  • 8/7/2019 Pertemuan 1 & 2 Pascal

    6/21

    66

    Analisa

    Desain (Merancang)

    Coding

    Testing

    Dokumentasi

  • 8/7/2019 Pertemuan 1 & 2 Pascal

    7/21

    77

    ANALISA

    Proses menentukan tujuan yang diiginkan atauyang akan dicapai dengan cara efisien dan efektif,

    yang meliputi :

    satu :Mendefinisikan masalah (seringkali masalah

    yang ada tidak dinyatakan dengan baik dan jelassehingga memungkinkan tidak ditemukan

    solusinya, masukan dan keluaran harus juga

    dinyatakan dengan jelas.

  • 8/7/2019 Pertemuan 1 & 2 Pascal

    8/21

    88

    Kedua : Memilih garis besar (outline) pemecahan.

    Cara pemecahan ini menggunakan Top Down Design

    (memecahkan masalah dengan mendekomposisi

    masalah menjadi submasalah-submasalah yang lebih

    sederhana, misalnya : garis besar pemecahan pertama

    yang ditemukan adalah yang paling baik maka tidak

    perlu melakukan usaha tambahan untuk mencari cara

    lain, Demikian juga sebaliknya.

    Contohnya mencari nama dalam buku telp.

    Kita perlu mempertimbangkan dari segi efisien dan

    efektif.

  • 8/7/2019 Pertemuan 1 & 2 Pascal

    9/21

    99

    Ketiga :

    Desain atau merancang atau menterjemahkan

    garis besar tadi menjadi langkah-langkah yanglebih rinci ke dalam bentuk algorithma.

    Keempat :

    Menerjemahkan algorithma ke dalam bahasa

    pemrograman dalam hal ini (Pascal).Prosespenerjemahan algorithma ke dalam bahasa

    pemrograman disebut dengan

    pengkodean(coding) sedangkan statement-

    statement yang dituliskan dalam bahasapemrograman disebut dengan code atau program.

    Jadi jelas pengkodean tidak sama dengan

    Pemrograman; pengkodean hanya salah satu

    langkah dalam pemrograman.

  • 8/7/2019 Pertemuan 1 & 2 Pascal

    10/21

    1010

    Kelima :

    Setelah algorithma dikodekan atau program sudah

    ditulis maka program tersebut dapat diuji.Pengujian dilakukan untuk menemukan kesalahan

    yang mungkin terjadi, dengan cara : memeriksa

    kemungkinan kasus yang mungkin terjadi pada

    program tersebut. Proses ini yang disebut denganDebuggingyaitu menemukan kesalahan (bug) dan

    menghilangkannya (memperbaikinya).

  • 8/7/2019 Pertemuan 1 & 2 Pascal

    11/21

  • 8/7/2019 Pertemuan 1 & 2 Pascal

    12/21

    1212

    Tiga Kriteria program yang baikTiga Kriteria program yang baik

    1.1. Benar, artinya bahwa setiap programBenar, artinya bahwa setiap programharus mengandung kebenaran.harus mengandung kebenaran.

    2.2. Jelas, artinya program yang baik akanJelas, artinya program yang baik akan

    jelas dan mudah dipelajari ataujelas dan mudah dipelajari ataudipahami.dipahami.

    3.3. Efisien, artinya jika terdapat beberapaEfisien, artinya jika terdapat beberapaalternatif pemecahan masalah dalamalternatif pemecahan masalah dalam

    program maka program yang palingprogram maka program yang palingefisienlah yang paling baik, yang dapatefisienlah yang paling baik, yang dapatdilihat dari segi waktu eksekusi maupundilihat dari segi waktu eksekusi maupunmemory penyimpanan.memory penyimpanan.

  • 8/7/2019 Pertemuan 1 & 2 Pascal

    13/21

    1313

    STRUKTUR PASCALSTRUKTUR PASCAL

    KepalaKepalaDeklarasi variabel, konstanta danDeklarasi variabel, konstanta danfungsi/prosedurfungsi/prosedur Pernyataan peubah (variable)Pernyataan peubah (variable)

    var panjang : integer; Lebar : integer; luas, keliling :var panjang : integer; Lebar : integer; luas, keliling :integer;integer;

    Pernyataan nilai tetap (constants)Pernyataan nilai tetap (constants)const KONSTANTA1 = 'abcd'; angkaku = 3.14;const KONSTANTA1 = 'abcd'; angkaku = 3.14;

    BadanBadanBegin ... ... { KODE PROGRAM LAINNYA } ...Begin ... ... { KODE PROGRAM LAINNYA } ...End.End.

  • 8/7/2019 Pertemuan 1 & 2 Pascal

    14/21

    1414

    NamaNama yangyang dipergunakandipergunakan didi dalamdalam program Pascalprogram Pascal

    disebutdisebut dengandengan pengenalpengenal atauatauId

    entifier.Id

    entifier. IdentifierIdentifierdigunakandigunakan untukuntuk namanama: Program, Sub: Program, Sub--programprogram(procedure(procedure dandan function),function), namanama: Variable, Constant,: Variable, Constant,Type, Label.Type, Label.NamaNama--namanama iniini digunakandigunakan untukuntuk pemakaianpemakaian dandanpemanggilanpemanggilan dalamdalam program.program. KetentuanKetentuan penulisanpenulisan

    identifieridentifiera.a. NamaNama identifieridentifier harusharus dimulaidimulai dengandengan karakterkarakter hurufhuruf alfabetalfabet: a: asampaisampai z, Az, A sampaisampai ZZ atauatau karakterkarakter _ (underscore_ (underscore -- garisgarisbawahbawah))

    b.b. KarakterKarakter berikutnyaberikutnya bolehboleh karakterkarakter numeriknumerik (0 .. 9)(0 .. 9) atauataukombinasikombinasi alphanumerikalphanumerik ((hurufhuruf--numeriknumerik).).

    c.c. PanjangPanjang namanama,, padapada berbagaiberbagai versiversi PascalPascal umumnyaumumnya antaraantara 3232-- 63.63.d.d. TidakTidak bolehboleh menggunakanmenggunakan karakterkarakter istimewaistimewa: +: + -- * / |* / | \\ = < >= < >

    [ ] . , ; : ( ) ^ @ { } $ # ~ ! % & ` [ ] . , ; : ( ) ^ @ { } $ # ~ ! % & ` dandan ?? ContohContohpenulisan:Penulisanpenulisan:Penulisan yangyang benarbenar:: NamaMahasiswaNamaMahasiswa,,Gaji_KaryawanGaji_Karyawan, PX4,, PX4, dlldll..PenulisanPenulisan yangyang salahsalah: 3X, A & B, C Z: 3X, A & B, C Z dlldll

  • 8/7/2019 Pertemuan 1 & 2 Pascal

    15/21

    1515

    VariableVariable adalahadalah identifier yangidentifier yang berisiberisi datadatayangyang dapatdapat berubahberubah--ubahubah nilainyanilainya didi dalamdalamprogram.program. DeklarasiDeklarasiVariableVariable adalahadalah ::a.a. MemberikanMemberikan namanama variabelvariabel sebagaisebagai identitasidentitaspengenalpengenalb.b. MenentukanMenentukan tipetipe datadata variabelvariabelContohContoh deklarasideklarasi variabelvariabel:: varvar X : integer;X : integer;RR : real;: real;

    CC : char;: char;TT :: booleanboolean;;KonstantaKonstanta adalahadalah identifier yangidentifier yang berisiberisi datadatayangyang nilainyanilainya tidaktidak berubahberubah didi dalamdalam program.program.DeklarasiDeklarasi KonstantaKonstanta adalahadalah::

    a.a. MemberikanMemberikan namanama konstantakonstanta sebagaisebagaiidentitasidentitas pengenalpengenalb.b. MenentukanMenentukan nilainilai konstantakonstantaContohContoh deklarasideklarasi konstantakonstanta:: contsconts MaxSizeMaxSize ==100; {integer}100; {integer}

    ExitCExitC = Q; {char}= Q; {char}

  • 8/7/2019 Pertemuan 1 & 2 Pascal

    16/21

  • 8/7/2019 Pertemuan 1 & 2 Pascal

    17/21

    1717

    Bagian USESBagian USES

    USES adalah wajib dideklarasikan yang bergunaUSES adalah wajib dideklarasikan yang bergunauntuk mendeklarasikan piranti yang akanuntuk mendeklarasikan piranti yang akandigunakan oleh pascal. Unitdigunakan oleh pascal. Unit--unit piranti yangunit piranti yang

    dikenal oleh pascal adalah: CRT, String, DOS,dikenal oleh pascal adalah: CRT, String, DOS,Graph, Printer, dan System. Bentuk umum: USESGraph, Printer, dan System. Bentuk umum: USES;. Contoh: uses crt, dos; Unit;. Contoh: uses crt, dos; Unitsystem sudah tidak perlu dideklarasikan lagisystem sudah tidak perlu dideklarasikan lagisedangkan CRT berguna untuk memanipulasisedangkan CRT berguna untuk memanipulasitampilan monitor/screen, unit DOS untuk fungsitampilan monitor/screen, unit DOS untuk fungsi--

    fungsi DOS seperti DiskFree, SetTime, dll. Unitfungsi DOS seperti DiskFree, SetTime, dll. UnitString untuk memanipulasi tipe data string danString untuk memanipulasi tipe data string danunit Graph untuk memanipulasi grafik denganunit Graph untuk memanipulasi grafik denganpascalpascal

  • 8/7/2019 Pertemuan 1 & 2 Pascal

    18/21

  • 8/7/2019 Pertemuan 1 & 2 Pascal

    19/21

    1919

    program Welcome;program Welcome;

    usesusesCrtCrt;;

    beginbeginclrscrclrscr;;

    WritelnWriteln((Selamat datangSelamat datang didi Turbo Pascal');Turbo Pascal');

    Writeln;Writeln;

    writeln (Saya belajar pascal);writeln (Saya belajar pascal);Readln;Readln;

    end.end.

    Disimpan dengan namaDisimpan dengan nama Latihan.pasLatihan.pas

  • 8/7/2019 Pertemuan 1 & 2 Pascal

    20/21

    2020

    ContohContoh 22

    program TAMBAH_00; {program TAMBAH_00; { MenjumlahkanMenjumlahkan duadua bilanganbilangan yangyangnilainyanilainya diberikandiberikan dalamdalam perintahperintah}}

    usesuses CrtCrt;;varvar X, Y, Z: integer; {X, Y, Z: integer; { DeklarasiDeklarasi variabelvariabel X,YX,Y dandan ZZ sebagaisebagai

    bilanganbilangan bulatbulat }}

    BEGIN { ProgramBEGIN { Program UtamaUtama MulaiMulai }}Clrscr;Clrscr;X := 50; {X := 50; { PerintahPerintah memberikanmemberikan nilainilai 5050 padapada var. X }var. X }Y := 25; {Y := 25; { PerintahPerintah memberikanmemberikan nilainilai 2525 padapada var. Y }var. Y }Z := X + Y; {Z := X + Y; { PerintahPerintah menjumlahkanmenjumlahkan XX dandan YY sertaserta

    menyimpanmenyimpan hasilnyahasilnya keke Z}Z}WRITELN(WRITELN(ZZ););Readln;Readln;END. {END. { AkhirAkhir ProgramProgram UtamaUtama }}

  • 8/7/2019 Pertemuan 1 & 2 Pascal

    21/21