+ All Categories
Home > Documents > Modul Pascal.doc

Modul Pascal.doc

Date post: 09-Oct-2015
Category:
Upload: ikhzzz
View: 9 times
Download: 0 times
Share this document with a friend
40
10PENDAHULUAN Ada sebuah anekdot tentang pandangan yang salah kaprah mengenai komputer. Sebagai sebuah mesin “pintar”, komputer terlanjur dipercaya orang mampu mengerjakan perintah apa saja yang diberikan oleh manusia. Komputer adalah benda ajaib yang mampu menyelesaikan masalah apa saja yang diinginkan orang. Anggapa n ter sebut ti dak sel uruhny a sal ah. Komput er memang ala t bant u dal am menyelesaikan mas ala h. Persoa lan nya , komput er tid ak begitu saja langsung dapat meny elesai kan masal ah yang “disod orkan” . Orang harus meru muskan langkah langka h  penyelesaian masalah itu dalam suatu runtunan instruksi. Komputerlah yang nanti mengerjakan runtunan instruksi tersebut, karena komputer dapat mengerjakannya dengan cepat, akurat , bahkan berula ng ulang tanpa kenal lela h dan bosan. Sekumpulan inst ruksi yang merupakan penyelesaian masalah itu dinamakan program. Program “dimasukkan” ke dalam komput er , komputer men ger jaka n instruksi ins tru ksi di dalam progra m terseb ut, lal u memberikan hasil atau keluaran yang diinginkan. Agar program dapat dilaksanakan oleh komputer, program tersebut harus ditulis dalam suatu  bahasa yang dimengerti oleh komputer. Sebagaimana dalam kehidupan, kita hanya dapat memberikan perintah kepada orang lain dalam bahasa yang ia mengerti. isalnya kepada orang !nggris, kita hanya dapat memberikan tugas kepadanya dalam bahasa !nggris. Karena komputer adalah mesin, maka program harus ditulis dalam bahasa yang khusus dibuat untuk “berkomunikasi” dengan komputer. "ahasa komputer yang digunakan dalam menulis program dinamakan bahasa pemrograman. Sampai saat ini terdapat ratusan bahasa pemr ograman. "ahasa bahasa ini akan terus  berkembang dan bertambah jumlahnya. # ang membuat dan mende$inisikan bahasa itu adalah manusia juga. Ada bahasa yang cukup sulit “ dipahami” oleh penggunanya dikarenakan tata  bahasanya yang “primiti$” atau karena orientasi bahasanya lebih “dekat” ke bahasa mesin %bahasa tingkat rendah lo& le'el language( daripada bahasa manusia %bahasa tingkat tinggi  high le'el language(. Keb anyakan bahasa tingkat tinggi mengambil kata kata dari bahasa !nggris sehingga ia mudah dipelajari oleh pemakainya. Pada mulany a orang mempe lajar i suatu bahasa komputer melal ui aturan tata bahasan ya. Ketika bahasa baru muncul, yang umumnya lebih maju dibandingkan dengan bahasa generasi lama, orang pun mempel ajari nya lalu menul iskan progr am dalam bahasa baru terse but. Sebuah bahasa dapat mempunyai beberapa 'ersi, setiap 'ersi dirancang untuk komputer atau lingkungan sistem operasi tertentu. Antara satu 'ersi bahasa dengan 'ersi lainnya terdapat  perbedaan. )adi agar program dapat dijalankan pada komputer yang lain, orang harus menulis  program dalam 'ersi bahasa yang sesuai dengan komputer tersebut. )adi, orang yang menulis  program sangat terikat dengan aturan bahasa dan spesi$ikasi mesin yang akan menjalankannya. Saat ini, deng an berkembang nya teknik pemrograman ter str ukt ur , ora ng tid ak lagi memecahkan masalah dengan langsung menulis programnya dalam bahasa pemrograman. Orang mulai memi kirkan suatu cara penyelesaian masal ah yang akan diprog ram dengan menekankan pada desain atau rancangan yang me&akili pemecahan masalah tersebut. *esain  berisi urutan langkah – langkah pencapaian solusi yang ditulis dalam notasi – notasi deskripsi. Urutan langkah langkah yang sist emat is untuk menyel esai kan sebuah masalah dinamakan algoritma.  +otasi untuk menuliskan algoritma disebut notasi algoritmik. +otasi algoritmik bukan notasi bahasa pemrograman, karena itu program dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, program dalam notasi algoritmik harus ditranslasikan %diterjemahkan( ke dalam notasi bahasa pemrograman yang dipilih. enul is progra m bukan hanya meru pakan suatu kreati$it as tetap i juga merup akan sebuah  penerapan disiplin ilmu secara teliti, karena program merupakan implementasi dari suatu urutan langkah guna menyelesaikan suatu masalah. Pemrogram adalah orang yang bekerj a meny usun suatu progra m. Pemr ogram %  programmer( yang baik akan menghasilkan program yang mampu memberikan solusi yang tepat dan benar.
Transcript
  • 5/19/2018 Modul Pascal.doc

    1/39

    10PENDAHULUANAda sebuah anekdot tentang pandangan yang salah kaprah mengenai komputer. Sebagaisebuah mesin pintar, komputer terlanjur dipercaya orang mampu mengerjakan perintah apasaja yang diberikan oleh manusia. Komputer adalah benda ajaib yang mampu menyelesaikanmasalah apa saja yang diinginkan orang.

    Anggapan tersebut tidak seluruhnya salah. Komputer memang alat bantu dalammenyelesaikan masalah. Persoalannya, komputer tidak begitu saja langsung dapatmenyelesaikan masalah yang disodorkan. Orang harus merumuskan langkah langkahpenyelesaian masalah itu dalam suatu runtunan instruksi. Komputerlah yang nantimengerjakan runtunan instruksi tersebut, karena komputer dapat mengerjakannya dengan cepat,akurat, bahkan berulang ulang tanpa kenal lelah dan bosan. Sekumpulan instruksi yangmerupakan penyelesaian masalah itu dinamakan program. Program dimasukkan ke dalamkomputer, komputer mengerjakan instruksi instruksi di dalam program tersebut, lalumemberikan hasil atau keluaran yang diinginkan.

    Agar program dapat dilaksanakan oleh komputer, program tersebut harus ditulis dalam suatu

    bahasa yang dimengerti oleh komputer. Sebagaimana dalam kehidupan, kita hanya dapatmemberikan perintah kepada orang lain dalam bahasa yang ia mengerti. isalnya kepadaorang !nggris, kita hanya dapat memberikan tugas kepadanya dalam bahasa !nggris. Karenakomputer adalah mesin, maka program harus ditulis dalam bahasa yang khusus dibuat untukberkomunikasi dengan komputer. "ahasa komputer yang digunakan dalam menulis programdinamakan bahasa pemrograman.

    Sampai saat ini terdapat ratusan bahasa pemrograman. "ahasa bahasa ini akan terusberkembang dan bertambah jumlahnya. #ang membuat dan mende$inisikan bahasa itu adalahmanusia juga. Ada bahasa yang cukup sulit dipahami oleh penggunanya dikarenakan tatabahasanya yang primiti$ atau karena orientasi bahasanya lebih dekat ke bahasa mesin

    %bahasa tingkat rendah lo& le'el language( daripada bahasa manusia %bahasa tingkat tinggi high le'el language(. Kebanyakan bahasa tingkat tinggi mengambil kata kata dari bahasa!nggris sehingga ia mudah dipelajari oleh pemakainya.

    Pada mulanya orang mempelajari suatu bahasa komputer melalui aturan tata bahasanya.Ketika bahasa baru muncul, yang umumnya lebih maju dibandingkan dengan bahasa generasilama, orang pun mempelajarinya lalu menuliskan program dalam bahasa baru tersebut.Sebuah bahasa dapat mempunyai beberapa 'ersi, setiap 'ersi dirancang untuk komputer ataulingkungan sistem operasi tertentu. Antara satu 'ersi bahasa dengan 'ersi lainnya terdapatperbedaan. )adi agar program dapat dijalankan pada komputer yang lain, orang harus menulisprogram dalam 'ersi bahasa yang sesuai dengan komputer tersebut. )adi, orang yang menulis

    program sangat terikat dengan aturan bahasa dan spesi$ikasi mesin yang akanmenjalankannya.

    Saat ini, dengan berkembangnya teknik pemrograman terstruktur, orang tidak lagimemecahkan masalah dengan langsung menulis programnya dalam bahasa pemrograman.Orang mulai memikirkan suatu cara penyelesaian masalah yang akan diprogram denganmenekankan pada desain atau rancangan yang me&akili pemecahan masalah tersebut. *esainberisi urutan langkah langkah pencapaian solusi yang ditulis dalam notasi notasi deskripsi.Urutan langkah langkah yang sistematis untuk menyelesaikan sebuah masalah

    dinamakan algoritma. +otasi untuk menuliskan algoritma disebut notasi algoritmik. +otasialgoritmik bukan notasi bahasa pemrograman, karena itu program dalam notasi algoritmik

    tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, program dalamnotasi algoritmik harus ditranslasikan %diterjemahkan( ke dalam notasi bahasa pemrogramanyang dipilih.

    enulis program bukan hanya merupakan suatu kreati$itas tetapi juga merupakan sebuahpenerapan disiplin ilmu secara teliti, karena program merupakan implementasi dari suatuurutan langkah guna menyelesaikan suatu masalah.Pemrogram adalah orang yang bekerja menyusun suatu program. Pemrogram %programmer(yang baik akan menghasilkan program yang mampu memberikan solusi yang tepat dan benar.Pemrogram dapat digolongkan dalam dua jenjang, yaitu amatir dan pro$esional. Pemrogram

  • 5/19/2018 Modul Pascal.doc

    2/39

    amatir biasanya hanya menghasilkan program yang relati$ hanya untuk memecahkan masalah masalah kecil, sedangkan pemrogram pro$esional memiliki kemampuan untuk menyusunprogram untuk memecahkan masalah masalah yang besar dan rumit."anyak orang yang memiliki hobi bermain dengan komputer yang kemudian menjadipemrogram amatir. +amun untuk menyelesaikan masalah masalah yang cukup rumitdibutuhkan pemrogram yang pro$esional dalam bidangnya. "anyak pemrogram pro$esional

    memulainya dengan sebuah serti$ikat dari sebuah kursus, dari akademi atau perguruan tinggidi bidang ilmu komputer atau dari ilmu lain yang berkaitan dan kemudian mereka mencariengalaman dan terus berlatih.

    -ntuk menghasilkan program yang baik dibutuhkan pemrogram yang baik dan berkualitaspula. Adapun kriteria pemrogram yang baik adalah

    ampu menyusun pemecahan masalah yang baik

    enguasai bahasa pemrograman dengan baik

    ampu menulis program dengan teknik yang baik

    ampu menyusun program yang baik

    *apat bekerja sama dalam suatu tim kerja

    *apat bekerja secara e$isien dan tepat &aktu

    DA!A" DA!A" AL#$"%&'A DAN PE'"$#"A'ANProgram adalah kata,ekspresi, atau pernyataan yang disusun dan dirangkai menjadi satu kesatuanprosedur, yang berupa urutan langkah, untuk menyelesaikan masalah yang diimplementasikandengan menggunakan bahasa pemrograman sehingga dapat dieksekusi oleh komputer.

    Pemrograman adalah proses mengimplementasikan sederetan perintah atau urutan langkahuntuk menyelesaikan suatu masalah dengan menggunakan suatu bahasa pemrograman. *apatdikatakan pemrograman adalah kegiatan yang berhubungan dengan pembuatan program.

    "ahasa pemrograman adalah prosedur atau tata cara penulisan program, terdapat / $aktor pentingyaitu sintaks dan semantik. Sintaks adalah aturan0aturan gramatikal yang mengatur tata carapenulisan kata, ekspresi, dan pernyataan. Semantik adalah aturan0aturan untuk menyatakan suatuarti.

    1ahapan pemrograman komputer . 2ase Problem Sol'ing/. 2ase !mplementasi

    Suatu program dikatakan baik jika . "ekerja sesuai dengan tujuan dan memenuhi spesi$ikasi yang telah ditentukan/. 1idak mengandung kesalahan3. 4epat dalam &aktu pelaksanaannya %eksekusi program(5. 6$isien dalam penggunaan memori komputer7. -ser $riendly8. Portability9. Kemudahan mera&at : mengembangkan program

    /

    Analisa Problem

    Perancangan Algoritma

    Pembuatan Program

    1est

    1est

    *okumentasi

    *ipakai2ase !2ase Problem Sol'ing

    2ase !!2ase !mplementasi

  • 5/19/2018 Modul Pascal.doc

    3/39

    Program dibagi dalam 3 bentuk . Kon'ensional

    Semua langkah langkah yang dibutuhkan untuk menghasilkan suatu in$ormasi tanpaada aturan tertentu.

    /. 1erstruktur0 mengandung teknik pemecahan masalah yang tepat dan benar

    0 memiliki algoritma pemecahan masalah yang sederhana, standar, dan e$ekti$0 penulisan program memiliki struktur logika yang benar dan mudah dipahami0 terdiri dari 3 struktur dasar, yaitu struktur sekuensial, penyeleksian kondisi dan

    perulangan0 menghindari penggunaan ;O1O

    3. 6'ent dri'en, OOP, ulti threading*apat melakukan beberapa proses dalam satu &aktu.

    "ahasa pemrograman dibedakan menjadi 5 .

  • 5/19/2018 Modul Pascal.doc

    4/39

    +. Pseudocode

    erupakan bentuk prosedur $ormat pengujian algoritma dengan struktur bahasapemrograman namun masih menggunakan bahasa manusia.

    !truktur Dasar Algoritma

    1. "untunan ,se-uence

    5

    &erminal / menunukkan a)al akhir rogram

    2onnector / enghubung ada satu halaman

    Prearasi / memberikan nilai a)al ada suatu 3ariabel*konstanta

    Prede4ined Proses / roses yg ditulis sebagai subrogram5 yaitu

    rosedur*4ungsi

    $44 Page 2onnector / enghubung ada halaman yang berbeda

    Arah Aliran Proses

    'anual %nut

    'agnetic Disk

    (ile

    Dislay

  • 5/19/2018 Modul Pascal.doc

    5/39

    1erdiri atas satu proses yang diikuti proses yang lain

    4ontoh

    2lo&chart menghitung luas lingkaran

    +. Pemilihan ,selection

    Suatu instruksi dikerjakan jika kondisi tertentu dipenuhi. +ilai suatu kondisi dapatditest dan menghasilkan kondisi benar atau salah. -ntuk melakukan test kondisibiasanya digunakan operasi relasi sebagai berikut

    +O1AS! A1!

    @

    BC

    Sama dengan1idak sama dengan

  • 5/19/2018 Modul Pascal.doc

    6/39

    #

    1

    6. Pengulangan

    *isebut juga iterasi D loop, instruksi atau serangkaian instruksi dikerjakan secaraberulang sepanjang kondisi tertentu masih menghendaki.

    1

    #

    4ontoh 2lo&chart mencetak angka 7

    1

    #

    Notasi Algoritma

    . )udul atau kepala"agian yang terdiri atas nama algoritma dan penjelasan %spesi$ikasi( tentang algoritmatersebut.

    /. "agian deklarasi"agian untuk mende$inisikan semua nama yang dipakai di dalam algoritma. +amatersebut bisa berupa nama 'ariabel, tipe, prosedur, $ungsi, dsb.

    3. "agian deskripsi"erisi uraian langkah langkah penyelesaian masalah.

    8

    4etak "ilangan;anjil

    Selesai

    = mod / @ F

    1estkondi

    si

    Proses A

    Proses "

    ulai

    4etak =

    Selesai

    = C 7

    = @ F

    = @ = G

    4etak "ilangan ;enap

  • 5/19/2018 Modul Pascal.doc

    7/39

    4ontoh Algoritma Hitung_LingkaranDEKLARASI const phi = 3.14 r,luas,keliling : realDESKRIPSI

    read(r) luas phi * r * r keliling 2 * phi * r write(luas,keliling)

    Algoritma Menentukan_Bilangan_Ganjil_GenapDEKLARASI x : integerDESKRIPSI

    read(x) if x od 2 = ! then

    write("#ilangan genap$)else

    write("#ilangan gan%il$)endif

    Algoritma Mencetak_Angka_5DEKLARASI x : integerDESKRIPSI

    x !while x & ' do

    x x1

    endwhilewrite(x)

    PRAKTIKUM MINGGU 1

    PEN#ENALAN P"$#"A' PA!2AL

    !&"U7&U" "UN&UNAN ,!E8UEN2E

    LAN#7AH9LAN#7AH PE':UA&AN P"$#"A'

    . -ntuk menulis program baru caranya tekan tombol A

  • 5/19/2018 Modul Pascal.doc

    8/39

    /. Ketikkan program Anda.3. Simpan program Anda. Sebelum menyimpan tentukan letak %misal direktori atau $older(

    dimana program akan disimpan dengan cara AitungL

  • 5/19/2018 Modul Pascal.doc

    9/39

    Adalah bagian yang berisi perintah pengerjaan program. Kumpulan statemen membentukprogram. Statemen berada di bagian deklarasi statemen dengan dia&ali kata cadanganbegin dan end.Sintaks

    Beginaftarstateen

    En!

    7etentuan enulisan statemen

    . *iakhiri dengan titik koma/. >uru$ besar atau huru$ kecil tidak dibedakan3. *alam satu baris boleh lebih dari satu statemen5. Satu statemen boleh terdiri dari beberapa baris7. Konstanta tidak boleh dipecah dalam beberapa baris

    Statemen terdiri dari . Statemen pengerjaan

    *igunakan untuk memasukkan suatu nilai tertentu ke dalam suatu 'ariabel.Sintaks

    pengenal_"aria#el $% ungkapan!

    4ontoh x = a1

    /. Statemen prosedur*igunakan untuk mengakti$kan suatu prosedur yang telah dide$inisikan pemakaiatau oleh Pascal4ontoh

    taah(x,-)

    3. Statemen ;O1OKata cadangan ;O1O diikuti dengan pengenal label untuk melompat ke baristertentu.

    5. Statemen kosongStatemen yang tidak berisi simbol apapun.4ontoh

    Begin

    En!

    7. Statemen !nput-ntuk memasukkan atau membaca data yang akan diolah. Pascal mempunyai /statemen untuk membaca data yaitu statemen 6A* dan 6A*

  • 5/19/2018 Modul Pascal.doc

    10/39

    6.

  • 5/19/2018 Modul Pascal.doc

    11/39

    phi : real = 3.14/ar

    %ari,luas,keliling : realegin

    clrscr %ari := 1!

    luas:=phi*%ari*%ari keliling:=2*phi*%ari writeln(76ari;%ari lingkaran = 7, %ari) writeln(ses crt 5ar

    a,,c : integer #egin

    clrscr writeln(

  • 5/19/2018 Modul Pascal.doc

    12/39

    2$N&$H PE"'A!ALAHAN > @

    engkon'ersikan total detik menjadi jam menit detik.Petunjuk menit @ 8F detik

    jam @ 38FF detik

    0rogra ia+9engkon/ersi total detik en%adi %a enit detik

    >ses crt 5ar

    totdet,%a,sisa,enit,detik : integer #egin

    clrscr writeln(70rogra on/ersi etik 9en%adi 6a 9enit etik7) writeln(7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7) writeln(79asukkan total detik = 7) readln(totdet) %a:=totdet di/ 3A!! sisa:=totdet od 3A!! enit:=sisa di/ A! detik:=sisa od A! writeln(76ulah %a = 7,%a) writeln(76ulah enit 7,enit) writeln(76ulah detik 7,detik) readlnend.

    &U#A!. "uat program untuk menghitung luas segitiga dan persegi panjang dengan besar alas,tinggi,

    panjang, lebar dimasukkan melalui keyboard/. Seorang user di &arnet mulai menggunakan internet pada pukul ) dan selesai pada pukul )/.

    "ila tarip penggunaan di &arnet tersebut jam p. 7FFF,0 maka buat program untukmenghitung lama pemakaian %dalam jam menit detik( dan biaya yang harus dibayar user.Keterangan tampilan program seperti berikut

    PO;A "!)am mulai enit mulai *etik mulai

    )am selesai enit selesai *etik selesai @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

  • 5/19/2018 Modul Pascal.doc

    13/39

    1ipe data menentukan nilai yang dapat disimpan 'ariabel tersebut dan operator0operator apayang dapat dikenakan padanya. 4ontoh tipe real hanya dapat menyimpan bilangan real, danoperator yang dapat dikenakan padanya antara lain operator penjumlahan, perkalian, dsb.acam tipe data

    "ilangan bulat "oolean

    1ipe ordinal Karakter Subjangkauan D subrange 1erbilang Denumerated

    1ipe sederhana

    1ipe string 1ipe real

    1ipe data impunan %set(

    "erkas %$ile(1ipe pointer

    1ipe prosedural 1ipe objek

    &ie :ilangan :ulat

    1ipe bilangan bulat digunakan untuk menyimpan data numerik berupa bilangan bulat.

    &ie ;angkauan Ukuran dalam memori

    Shortint 0/MN/9 M bit

    !nteger 03/98MN3/989 8 bit

  • 5/19/2018 Modul Pascal.doc

    14/39

    0 karakter AS4!! tidak standar pada P4 %karakter dengan nilai AS4!! antara /Mhingga /77(.

    *ideklarasikan dengan char, berukuran byte.

    -ntuk memberi nilai pada 'ariabel bertipe karakter, dapat menggunakan beberapa cara . enuliskan karakter di dalam tanda petik tunggal.

    4ontoh

    ch :=

  • 5/19/2018 Modul Pascal.doc

    15/39

    *igunakan untuk menyimpan data yang berupa untaian karakter, terletak diantara tanda petiktunggal."ila karakter petik merupakan bagian dari konstanta string,maka dapat ditulis dengan menggunakan/ buah petik tunggal berurutan."ila string yang tidak memiliki sebuah karakter %string kosong( maka ditulis dengan cara V .+ilai data string membutuhkan memori sebesar banyaknya karakter stringnya ditambah dengan

    byte. "ila panjang dari suatu string di dalam deklarasi 'ariabel tidak disebutkan, maka dianggappanjangnya /77 karakter.4ontoh 5ar

    Canggal : stringH1!Iari : stringHAI0asaran : stringH4I6arak : char

    #eginCanggal := 718;!J;2!!87ari :=

  • 5/19/2018 Modul Pascal.doc

    16/39

    WorShlShr

    ses crt5ar

    #ilx,il-,ilM : -te#egin

    lrscr #ilx := 2' #il- := 4 #ilM := ilx or il- Briteln(ilM) Neadlnnd.

    4ontoh 0rogra opshl

    >ses crt#eginBriteln(' shl A)

    nd.

    4ontoh 0rogra opshr>ses crt#eginBriteln(1A! shr A)

    nd.

    $erator :oolean

    Sama dengan operator pemanipulasian bit tanpa operator shr dan shl

    A : Not A Not : A and : A or : A or :

    $alse $alse true true $alse $alse $alse

    $alse true true $alse $alse true true

    true $alse $alse true $alse true truetrue true $alse $alse true true $alse

    $erator himunan

    *igunakan pada tipe himpunan.

    $erator $erasi

    G0Ein

    -nionSelisih!nterseksiAnggota dari

    8

    Output adalah /IPenjelasan

    FFFFF /7

    FFFFFFF 5 orFFFF /I

    Output adalah 3/FPenjelasan

    +ilai integer 7 digeser sebanyak 8 bit ke kiriFFFFFFFFFFFFFF 7

    FFFFFFFFFFFFFF 3/F

    Output adalah /Penjelasan +ilai integer 8F digeser sebanyak 8 bit ke kanan

    FFFFFFFFFFFFFF 8FFFFFFFFFFFFFFFF /

  • 5/19/2018 Modul Pascal.doc

    17/39

    4ontoh D := #

    enggabungkan semua anggota himpunan " dan 4 ke dalam A. )ika nilai " adalah YVA,"Zdan 4 bernilai YV4Z maka A bernilai YVA, V", V4Z.

    $erator embanding

    $erator $erasi &ie oeran

    @ Sama dengan 1ipe sederhana, pointer, himpunan, string

    CB 1idak sama dengan 1ipe sederhana, pointer, himpunan, string

    C Kurang dari 1ipe sederhana, string

    B

  • 5/19/2018 Modul Pascal.doc

    18/39

    g. PajakLbulananh. Tdiskoni. *iskonT

    /. )ika A bertipe char, nilai bertipe real, nilai/ bertipe integer, manakah penulisan ekspresiyang salah

    a. A @ F[

    b. A @ VA[c. +ilai @ 79[d. +ilai/ @ nilai G 3[e. +ilai @ nilai G [$. +ilai/ @ /F di' 3 G 7[g. +ilai/ @ /F D 3 G 7[

    3. 1entukan tipe data untuk data diba&ah ini a. VFb. V c. /.7FF,7F

    d. 7e. 3.FFF.FFF$. V3.35.FM..g. V

  • 5/19/2018 Modul Pascal.doc

    19/39

    D,,c,d,x,-,M : oolean#egin D := true

    # := false := true := false O := D and # or xor P := D and not # or not Q := D xor # xor xor nd.

    ;a)ab @ / true5 y / true5 B / 4alseI. "erapa nilai 'ariabel 4,*,6,=,y,Q pada program berikut

    5ar D,# : set of char ,, : set of char O,-,M : oolean

    #egin D := H

  • 5/19/2018 Modul Pascal.doc

    20/39

    "entuk paling sederhana pilihan tunggal adalah jika hanya ada satu pilihan kondisi yangdisediakan.

    if kondisi then true stateent

    2$N&$H PE"'A!ALAHAN ? @

    enentukan luas keliling lingkaran dengan masukan data dari keyboard dan mengulangpenghitungan.progra ulanglagiuses crtconst

    phi = 3.14/ar

    %ari,luas,keliling : real lagi : charlael ulangegin ulang:

    clrscr write(79asukan %ari;%ari lingkaran = 7) readln(%ari)

    luas=phi*%ari*%ari keliling=2*phi*%ari

    writeln(

  • 5/19/2018 Modul Pascal.doc

    21/39

    elseif kondisi2 then

    stateen2 else stateenerikutn-a

    2$N&$H PE"'A!ALAHAN @

    engelompokan nilai dengan ketentuan )ika nilai angka B@ IF, maka nilai huru$ @ A)ika nilai angka B@ MF, maka nilai huru$ @ ")ika nilai angka B@ 9F, maka nilai huru$ @ 4)ika nilai angka B@ 8F, maka nilai huru$ @ *)ika nilai angka C 8F, maka nilai huru$ @ 6

    progra elopok?ilaiuses crt/ar nilai : integer ket : string huruf : charegin writeln(U0NGRND9 0?RG90GD? ?VDVU) writeln(U;;;;;;;;;;;;;;;;;;;;;;;;;;;U) write(U9asukkan nilai (!;1!!) : U)readln(nilai) if(nilaiW=81) then egin huruf := UDU ket := UulusU end

    else if(nilaiW=K!) then egin huruf := U#U ket := UulusU end else if(nilaiW=A!) then egin huruf := UU ket := UulusU

    end else

    if(nilaiW=4!)then egin huruf := UU ket := URagalLCidak ulusU end else egin

    huruf := UU ket := URagalLCidak ulusU

    end writeln writeln(U?ilai huruf = U,huruf) writeln(Ueterangan = U,ket)readlnend.

    6. !&"U7&U" 2A!E

    -ntuk masalah dengan dua pilihan atau lebih, struktur 4AS6 dapat menyederhanakan penulisan!2 yang bertingkat0tingkat.

    case ungkapan o$

    /

  • 5/19/2018 Modul Pascal.doc

    22/39

    label Statement[ label/ Statement/[ label3 Statement3[ labeln Statementn[end[

    2$N&$H PE"'A!ALAHAN @Pemilihan kode jurusan dengan struktur caseprogra %urusanuses crt/ar %ur,naa : string kode : charegin write(U9asukkan naa : U)readln(naa) write(U0ilih kode %urusan HDL#LLI : U)readln(kode) case kode of UDU : %ur := UCeknik VnforatikaU U#U : %ur := U9ana%een VnforatikaU UU : %ur := U@iste VnforasiU UU : %ur := UCeknik oputerU end writeln writeln(U?aa : U,naa) writeln(Uode %urusan : U,kode) writeln(U?aa %urusan : U,%ur) readlnend.

    &U#A!. enentukan huru$ yang dimasukkan melalui keyboard huru$ 'okal atau konsonan/. enentukan bilangan terbesar dari / bilangan yang dimasukkan melalui keyboard3. enentukan bilangan terbesar dan terkecil dari 3 bilangan yang dimasukkan melalui

    keyboard

    //

  • 5/19/2018 Modul Pascal.doc

    23/39

    5. isalkan karya&an P1. akmur dikelompokkan berdasarkan golongannya. -pah per jamtiap karya&an bergantung pada golongannya, dengan ketentuan

    ;olongan -pah per jam

    A p. FFFF,0 " p. /FFF,0

    4 p. 7FFF,0 * p. /FFFF,0)umlah jam kerja normal selama minggu adalah 5M jam. Kelebihan jam kerja dianggaplembur dengan upah lembur adalah p.5FFF,0 per jam untuk semua golongan karya&an."uat program menghitung gaji karya&an mingguan. *ata yang dimasukan dari keyboardadalah nama karya&an, golongan, jumlah jam kerja dalam minggu. "erikut tampilannya

    P6+;>!1-+;A+ ;A)! P6;AHA! P1.AK-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+ama karya&an ;olongan

    )am kerja @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;aji p.

  • 5/19/2018 Modul Pascal.doc

    24/39

    DA!A" &E$"%

    *i dalam Pascal terdapat tiga macam perulangan yaitu dengan menggunakan statemen 2or...*o,Hhile...*o, dan epeat...-ntil.

    1. !&A&E'EN PE"ULAN#AN ($"... &$.... D$

    Perulangan dengan statemen 2O digunakan untuk mengulang statemen atau satu blok statemen

    berulang kali sejumlah yang ditentukan. Perulangan dapat dalam bentuk positi$, perulangannegati$, dan perulangan bersarang.

    "entuk umum for pencacah := nilaiawal to nilaiakhir do

    egin +pern-ataan;pern-ataan -ang akan diulangend

    2$N&$H PE"'A!ALAHAN 10 @

    Program encetak Angka -rut %Penaikan(

    progra angkaurutnaikuses crt/ar i : integeregin

    for i:=1 to 1! do egin writeln(i,U. allo,@elaat ela%ar,Dku -akin Dku pasti

    isa...U) end readln

    end.

    2$N&$H PE"'A!ALAHAN 11 @

    Program encetak Angka -rut %Penurunan(

    progra angkaurutturunuses crt/ar i : integeregin for i:=1! downto 1 do egin

    writeln(i,U. allo,@elaat ela%ar,Dku -akin Dku pastiisa...U)

    end readlnend.

    2$N&$H PE"'A!ALAHAN 1+ @

    Program mencetak angka terbesar terkecil

    progra axinuses crt

    /ar n,i,ax,in,il : integeregin writeln(U0rogra 9encari ata Ceresar dan CerkecilU) write(U9asukkan an-akn-a data = U) readln(n) write(U9asukkan ilangan ke;1 : U) readln(il) ax:=il in:=il

    /5

  • 5/19/2018 Modul Pascal.doc

    25/39

    for i:=2 to n do egin write(U9asukkan ilangan ke;U,i,U : U) readln(il) if(ilWax) then ax:=il if(il&in) then in:=il end writeln writeln(Uata teresar = U,ax) writeln(Uata terkecil = U,in) readlnend.

    2$N&$H PE"'A!ALAHAN 16 @

    Program encetak )umlah "ilangan

    progra %ulahuses crt/ar i,awal,akhir,%ulah : integeregin writeln(U9asukkan ilangan awal : U) read(awal) writeln(U9asukkan ilangan akhir : U) read(akhir) %ulah:=! for i:=awal to akhir do egin

    %ulah:=%ulahi end writeln(U6ulah ilangan dari U,awal,U sapai U,akhir,U adalahU,%ulah)

    readlnend.

    2$N&$H PE"'A!ALAHAN 1= @

    Program embuat 1abel Akar : Kuadrat "ilangan

    progra taelakar

    uses crt/ar i,kuadrat,%uil,%ukuadrat : integer akar,%uakar : realegin writeln(UCD# >DNDC D? DDN #VD?RD? U) writeln(U;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; U) writeln(U#ilangan uadrat Dkar #ilangan U) writeln(U;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; U) %uil:=! %ukuadrat:=!

    %uakar:=! for i:=1 to 1! do egin kuadrat := i*i akar := sXrt(i) %uil := %uili %ukuadrat := %ukuadratkuadrat %uakar := %uakarakar writeln(U U,i:3,U U,kuadrat:3,U U,akar:K:4) end

    /7

  • 5/19/2018 Modul Pascal.doc

    26/39

    writeln(U================================== U) writeln(U U,%uil:3,U U,%ukuadrat:3,U U,

    %uakar:K:4) readlnend.

    +. !&"U7&U" ($" :E"!A"AN#

    2$N&$H PE"'A!ALAHAN 1> @

    embuat tampilan seperti berikut

    ***************

    progra intang1

    uses crt/ar i,%:integeregin writeln(Uontoh loop ersarang ;;W intang persegipan%angU) for i:=1 to 3 do egin for %:=1 to ' do egin write(U*U) end writeln end readlnend.

    2$N&$H PE"'A!ALAHAN 1? @

    embuat tampilan seperti berikut

    9asukkan tinggi segitiga : '***************

    progra intang2

    uses crt/ar n,i,%:integeregin writeln(Uontoh loop ersarang ;;W intang segitiga sikuU) write(U9asukkan tinggi segitiga :U) readln(n) for i:=1 to n do egin for %:=1 to i do egin write(U*U)

    end writeln end readlnend.

    2$N&$H PE"'A!ALAHAN 1C @

    embuat tampilan seperti berikut

    9asukkan tinggi segitiga : '

    /8

  • 5/19/2018 Modul Pascal.doc

    27/39

    **********************

    ***

    progra intang3

    uses crt/ar n,i,%:integeregin writeln(Uontoh loop ersarang ;;W intang segitigaU) write(U9asukkan tinggi segitiga :U) readln(n) for i:=1 to n do

    egin for %:=1 to i do egin write(U*U) end writeln end for i:=n;1 downto 1 do egin for %:=1 to i do egin write(U*U) end writeln end readlnend.

    6. !&"U7&U" GH%LE ... D$

    Struktur ini digunakan bila kita belum mengetahui secara pasti berapakali banyaknya pengulangan yangakan dilakukan. "erakhirnya proses pengulangan ditentukan oleh suatu kondisi. Selama kondisiterpenuhi, maka pengulangan terus dilakukan, dan sebaliknya, bila kondisinya tidak terpenuhi makapengulangan dihentikan.

    "entuk H>!

  • 5/19/2018 Modul Pascal.doc

    28/39

    readln(il) %ulah:=%ulahil n:=n1 write(UDpakah Dnda akan easukkan ilangan lagi HPLCIT U) readln(lagi) writeln end

    rata:=%ulahLn writeln writeln writeln(U#an-akn-a ilangan : U,n) writeln(UNata;rata ilangan : U,rata:3:2) readlnend.

    6. !&"U7&U" "EPEA& UN&%L

    *igunakan untuk mengulang %6P6A1( blok pernyataan sampai %-+1!

  • 5/19/2018 Modul Pascal.doc

    29/39

    writeln(U6+- ;OK!< ;A1!SU) writeln(U;;;;;;;;;;;;;;;;;;;U) writeln(U1. NingtoneU) writeln(U2. ?ada @apaU) writeln(U3. Raar ucuU) writeln(U4. NaalanU) writeln

    write(U9asukkan pilihan Dnda Y (!=selesai) U) read(pilih) writeln writeln case pilih of 1 : writeln(UCeria kasih enggunakan la-anan NingtoneU)

    2 : writeln(UCeria kasih enggunakan la-anan ?ada sapaU) 3 : writeln(UCeria kasih enggunakan la-anan Raar lucuU)

    4 : writeln(UCeria kasih enggunakan la-anan NaalanU) ! : writeln(U@elesaiU) end writeln

    writeln until pilih=!end.

    &U#A!

    . "uat program menghitung jumlah dari deret 3,9,, 7, .......

    /. "uat program tabel perkalian

    / ' ) 0 1 5 2 3 4 '6

    ' . . . . . . . . . .) . . . . . . . . . .0 . . . . . . . . . .1 . . . . . . . . . .5 . . . . . . . . . .2 . . . . . . . . . .3 . . . . . . . . . .4 . . . . . . . . . . . . . . . . . . . .'6 . . . . . . . . . .

    Nata;rata tael adalah ....

    5. "uat program untuk menampilkan deret bilangan $ibonacci dengan nilai kurang dari FF.4ontoh seperti berikut 1 1 2 3 ' 8 13 21 Z.

    7. "uat program untuk menampilkan deretan seperti berikut D/ D5 G DM D8 G D3/ NN*engan batasan untuk penyebut maksimal 7F.

    8. "uat program proses

  • 5/19/2018 Modul Pascal.doc

    30/39

    ?G ?D9D >9>N 6?V@ D9V? 0N6DD?1 @usilo 21 0 0?@2 6oko 11 0 0ela%ar3 Bati 3' B @wasta4 Dar 2! B @wasta

    ' 9ul-ono 4' 0 0?@A ?urdin 1K 0 0ela%arK Dsuni K 0 0ela%ar8 Dsih 2J B 0?@J 9ar- '' B 0?@1! @eno 22 0 0?@

    ND0VC>D@V BDNRD #DN> #>D? GCG#N 2!!8==========================================>ur !;1K tahun = orang>ur 18;4! tahun = orang>ur W 4! tahun = orang6enis kelain 0ria = orang6enis kelain Banita = orang0egawai ?egeri @ipil = orang0egawai @wasta = orang0ela%arL9ahasiswa = orang9engurus Nuah Cangga = orang;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6ulah warga aru = orang

    Ketentuan a. Kode pekerjaan

    @ P+S/ @ Pega&ai S&asta3 @ PelajarDahasis&a5 @ engurus umah 1angga7 @ 1entaraDPolri8 @ 1idak bekerja

    Pada saat dimasukkan misal kode pada kolom pekerjaan, maka setelah ditekan 6nter otomatisangka yang dimasukkan berubah menjadi P+S.

    b. Setiap selesai memasukkan data, muncul pertanyaan V1ambah *ata

  • 5/19/2018 Modul Pascal.doc

    31/39

    3. Selesai

    Pada saat memilih maka tampil proses tambah data dan rekapitulasinya seperti programnomor 9

    Pada saat memilih / maka tampil in$ormasi tujuan program dibuat dan nama programmernya

    %nama Anda(.

    Pada saat memilih 3 maka tampil ucapan terimakasih telah menggunakan program inikemudian program selesai D keluar dari program.

    PRAKTIKUM MINGGU 12

    P"$!EDU" DAN (UN#!%

    &U;UAN %N!&"U7!%$NAL 7HU!U!

    ahasis&a mampu mengaplikasikan penggunaan subprogram dengan prosedur %Procedure( dan2ungsi %2unction( dalam pembuatan program dan pengiriman parameter dengan nilai dan re$erensi.

    3

  • 5/19/2018 Modul Pascal.doc

    32/39

    P"$!EDU"

    Prosedur adalah suatu program terpisah dalam blok sendiri yang ber$ungsi sebagai subprogram%program bagian(. Prosedur dia&ali dengan kata PO46*-6. *i dalam bagian deklarasiprosedur, prosedur dipanggil dan digunakan di dalam blok program yang lainnya denganmenyebutkan judul prosedurnya.

    2$N&$H PE"'A!ALAHAN +1 @

    Program membuat garis yang dipesankan dalam prosedur.

    0rogra prosedur1>ses crt0rocedure Raris#egin Briteln(7===============================7)nd

    #egin lrscr

    Raris Briteln Briteln(70GVC?V ?RNV @9DND?R7) Briteln(70NGV C?V V?FGG97) Raris Neadlnnd.

    Parameter dalam prosedur ada / macam yaitu 0 Parameter lokal

    >anya dapat digunakan pada modul atau unit program yang bersangkutan saja, tidak dapatdigunakan pada modul atau unit program lain.

    0 Parameter global

    Artinya dapat digunakan pada modul atau unit program lainnya.

    2$N&$H PE"'A!ALAHAN ++ @

    Penggunaan parameter lokal dan global.

    0rogra prosedur2>ses crt5ar luas : integer {parameter global}

    0rocedure hitung15ar pan%ang,lear : integer {parameter lokal}

    #egin Brite(79asukkan pan%ang : 7)readln(pan%ang) Brite(79asukkan lear : 7)readln(lear) uas := pan%ang * lear Briteln(7uas = 7, luas)nd

    0rocedure hitung25ar sisi : integer {parameter lokal}#egin Brite(79asukkan sisi : 7)readln(sisi) uas := sisi * sisi Briteln(7uas = 7, luas)nd

    {Program utama}

    #egin lrscr itung1 itung2 Neadlnnd.

    PEN#%"%'AN PA"A'E&E" PADA P"$!EDU"

    3/

  • 5/19/2018 Modul Pascal.doc

    33/39

    Pengiriman parameter ada / macam 0 Pengiriman secara nilai %by 'alue(

    Parameter $ormal di prosedur akan berisi nilai yang dikirimkan yang kemudian bersi$at lokal diprosedur. "ila nilai parameter $ormal di prosedur tersebut berubah, tidak akan mempengaruhinilai parameter nyata.4ontoh 0rocedure hitung(a, : integer)

    0 Pengiriman secara acuan%by re$erence("ila pengiriman parameter secara acuan, maka perubahan0perubahan yang terjadi pada nilaiparameter $ormal di prosedur akan mempengaruhi nilai parameter nyata.4ontoh 0rocedure hitung(/ar a, : integer)

    2$N&$H PE"'A!ALAHAN +6 @

    Penggunaan pengiriman parameter by 'alue0rogra prosedur3>ses crt5ar D,,%ulah : integer +paraeter gloal

    0rocedure %l(x,-,%ulah:integer) +paraeter nilai#egin 6ulah := x - Briteln(76ulah pada procedure : 7,%ulah) 6ulah := %ulah 1! Briteln(76ulah aru pada prosedur : 7,%ulah)nd

    +progra utaa#egin lrscr

    D:=':=1 6ulah := a Briteln(76ulah pada progra utaa : 7,%ulah) 6l(a,,%ulah) Briteln(76ulah aru pada progra utaa : 7, %ulah) readlnend.

    2$N&$H PE"'A!ALAHAN += @

    Penggunaan pengiriman parameter by re$erence.

    0rogra prosedur4>ses crt

    0rocedure taah(a,:integer /ar c : integer) +paraeter - reference#egin := and

    +progra utaa5arO,-,M : integer

    #egin lrscr O := 2 -:= 3 Caah(x,-,M)

    Briteln(7x = 7,x,7- = 7,-,7M = 7,M) Neadlnnd.

    (UN#!%

    "lok $ungsi hampir sama dengan blok prosedur, hanya harus dideklarasikan dengan tipenya. 1ipedeklarasi ini menunjukkan tipe hasil dari $ungsi. 1ipe tersebut dituliskan pada akhir deklarasi $ungsiyang didahului dengan titik koma.

    Sama dengan prosedur, parameter dalam $ungsi dapat dikirimkan secara nilai atau acuan.4ontoh

    33

  • 5/19/2018 Modul Pascal.doc

    34/39

    2unction hitung%a,b integer( integer[ {by value}

    2unction hitung%'ar a, b integer( integer[ {by reference}

    2$N&$H PE"'A!ALAHAN +> @

    Penggunaan pengiriman $unction parameter by 'alue.

    0rogra fungsi1>ses crt5ar D : integer +paraeter gloal

    Function hasil(a : integer): integer#egin asil := a*A!nd

    +progra utaa#egin

    lrscr Brite(79asukkan %a : 7)readln(a) Briteln(a,7 %a ada : 7, hasil(a), 7 enit7)readlnnd.

    2$N&$H PE"'A!ALAHAN +? @

    Penggunaan pengiriman $unction parameter by re$erence.

    0rogra fungsi2>ses crt5ar D,,%ulah : integer

    Function %l(/ar x,- : integer) : integer#egin 6l := x - P :=xnd

    +progra utaa#egin lrscr D:=' :=1 Briteln(7?ilai a seelu asuk ke function = 7,a) Briteln(7?ilai seelu asuk ke function = 7,)

    Briteln(76ulah : 7,%l(a,)) Briteln(7?ilai a setelah asuk ke function = 7,a) Briteln(7?ilai setelah asuk ke function = 7,) Neadlnnd.

    PRAKTIKUM MINGGU 13

    A""A DAN "E2$"D

    &U;UAN %N!&"U7!%$NAL 7HU!U!ahasis&a mampu membuat program menggunakan array dan record untuk menyelesaikan suatu permasalahan

    35

  • 5/19/2018 Modul Pascal.doc

    35/39

    A""A

    Array merupakan koleksi data dimana setiap elemen memakai nama dan tipe yang sama serta setiapelemen diakses dengan membedakan indeks arraynya.

    "entuk 'ariabel ?ar

    +amalarik arra78inek.9o: tipe data[

    4ontoh ahasiswa : arra- H1..2!I of stringH2!I

    Artinya array mahasis&a adalah koleksi dari /F 'ariabel string yang masing0masing diberinama ahasiswaH1I, ahasiswaH2I, ahasiswaH3I, ... ahasiswaH2!I

    "isa juga digunakan declared scalar type seperti

    C-peari = (senin,selasa,rau,kais,%uat,satu,inggu)

    5ar

    Ra%i : arra-Hsenin..satuI of longint >pah : arra-HhariI of integer 9asuk : arra-Hsenin..satuI of oolean

    A""A !A&U D%'EN!%

    2$N&$H PE"'A!ALAHAN +C @

    Program menginput data dengan array

    0rogra inputdata1>ses crt

    5ar?aa : arra-H1..1!I of stringH2'I ?i : arra-H1..1!I of stringH1!I ?ilai : arra-H1..1!I of integer i,n : integer

    #egin +;;;;;;; enentukan an-akn-a data -g akan diinputkan ;;;; clrscr write(7#an-ak data : 7)readln(n) writeln +;;; input data sesuai dengan an-akn-a data -g ditentukan ;;; For i=1 to n do egin

    writeln(7ata ke;7,i) write(7?aa : 7)readln(naaHiI) write(7?i : 7)readln(niHiI) write(7?ilai : 7)readln(nilaiHiI) writeln end + ;;; enapilkan data sesuai dengan -g diinputkan ;;; clrscr gotox-(1!,1)writeln(7?G ?V9 ?D9D ?VDV 7) gotox-(1!,2)writeln(7;;;;;;;;;;;;;;;;;;;;;;;;;;7) for i=1 to n do egin gotox-(1!,3i)write(i)

    gotox-(1',3i)write(niHiI) gotox-(2!,3i)write(naaHiI) gotox-(3!,3i)write(nilaiHiI) writeln end gotox-(1!,4i)writeln(7;;;;;;;;;;;;;;;;;;;;;;;;;;7) readlnend

    37

  • 5/19/2018 Modul Pascal.doc

    36/39

    &U#A!

    . *ari contoh permasalahan /9 tampilkan nilai rata0ratanya setelah garis penutup./. "uat program untuk "iro )asa Paket 1!K! 6WP6SS dengan tampilan seperti berikut

    9?>1. Vnput ata2. aporan ata

    3. @elesai

    0ilihan H1L2L3I :

    :ila memilih 1 maka muncul tamilan inut data @

    ata ke;ode 0aket :

    ?aa 0engiri :Dlaat 0engiri :

    ?aa Cu%uan :

    Dlaat Cu%uan :

    ode Drea :Drea Cu%uan :Vsi paket :#erat paket :

    #ia-a 0okok :#ia-a Caahan :6ulah #ia-a :

    Caah data lagiT

    "ila ya maka otomatis menginput data lagi,bila tidak maka kembali ke menu.

    -ntuk daerah tujuan, biaya pokok, biaya tambahan dilakukan berdasarkan kode area yaitu

    7ode Area &uuan :iaya okok*>kg :iaya tambahan*kg

    A )akarta FFFF 7FF

    " "andung 8FFF FFF

    4 )ogjakarta 5FFF 97F

    "iaya pokok dikenakan untuk 0 "ila berat paket C@ 7 kg maka biaya pokok sesuai da$tar 0 "ila berat paket B 7 kg maka biaya pokok yang dikenakan sebesar %berat paket

    di' 7( E biaya pokok per 7 kg berdasarkan kode area yang akan dikirim"iaya tambahan dikenakan untuk 0 "ila C@7 kg tidak dikenakan biaya tambahan0 "ila berat paket B 7 kg maka biaya tambahan yang dikenakan sebesar %berat paket

    7(Ebiaya tambahan per kg berdasarkan kode area yang akan dikirim)umlah biaya @ biaya pokok G biaya tambahan

    :ila memilih + maka muncul tamilan reka laoran data @ND0 D0GND? 0?D0DCD? #VNG 6D@D 0DC CVV O0N@@

    ?o ?aa0engiri

    DreaCu%uan

    #erat0aket

    #ia-a0okok

    #ia-aCaahan

    6ulah#ia-a

    Cotal ..... ..... ..... .....

    A""A DUA D%'EN!%

    Array berdimensi dua me&akili bentuk tabel atau matrik. Pada indeks pertama dapat menunjukkanbaris dan indeks kedua dapat menunjukkan kolom dari tabel atau matriks.*eklarasi array dua dimensi 5ar

    ?aa arra- : arra-Hindeksaris, indekskoloI of tipe data

    38

  • 5/19/2018 Modul Pascal.doc

    37/39

    2$N&$H PE"'A!ALAHAN + @

    Program menginput dan menjumlah matrik

    0rogra atrik%uuses crt/ar a, , c : arra- H1..1!,1..1!I of -te

    ,n,i,% : -te

    egin+;;;;;;enentukan an-akn-a aris [ kolo atriks ;;;;;;clrscrwriteln(79atriks erordo x n 7)writeln(7;;;;;;;;;;;;;;;;;;;;; 7)write(79asukkan an-akn-a aris () : 7)readln()write(79asukkan an-akn-a kolo (n) : 7)readln(n)writeln+;;;;;;input eleen atriks D;;;;;;For i:= 1 to do egin for %:=1 to n do egin write(7leen atriks D 7,i,7,7,%,7 : 7) readln(DHiIH%I) end end+ ;;;;;;input eleen atriks #;;;;;;BritelnFor i:=1 to do egin for %:=1 to n do egin write(7leen atriks # 7,i,7,7,%,7 : 7) readln(#HiIH%I)

    end end+ ;;;;;;en%ulahkan eleen atriks D dengan #;;;;;;For i:=1 to do for %:=1 to n do HiIH%I:=DHiIH%I#HiIH%I+ ;;;;;;enapilkan atriks D;;;;;; writeln writeln(79atriks D = 7) for i:=1 to do egin for %:=1 to n do write(DHiIH%I:')

    writeln end+ ;;;;;;enapilkan atriks #;;;;;; writeln writeln(79atriks # = 7) for i:=1 to do egin for %:=1 to n do write(#HiIH%I:') writeln end

    + ;;;;;;enapilkan atriks hasil pen%ulahan;;;;;; writeln

    writeln(79atriks = 7) for i:=1 to do egin for %:=1 to n do write(HiIH%I:') writeln endreadlnend.

    39

  • 5/19/2018 Modul Pascal.doc

    38/39

    &U#A!

    "uatlah program untuk menyelesaikan permasalahan berikut 1elah dilakukan penghitungan suara dari pemilihan presiden di 7 1PS. 4alon yang ditampilkan 5orang. >asil penghitungan suara sebagai berikut

    &P! 2AL$N P"E!%DEN

    1 + 6 =1 /FI 7 3I7 /M

    + /9 I8 5F 5/

    6 I5 IM 99 5

    = I M 3F3 /8

    > /57 / /F5 /7

    *engan menggunakan array / dimensi,tulis program untuk melakukan pekerjaan0pekerjaan berikut . enginput dan mencetak hasil pemilihan diatas dalam bentuk tabel yang sesuai/. enghitung dan mencetak keseluruhan suara yang diperoleh masing0masing calon dan

    prosentasenya terhadap keseluruhan suara

    3. 4alon yang menang adalah calon yang memperoleh suara terbanyak

    "E2$"D

    ecord adalah jenis tipe data terstruktur yang berisi beberapa data, yang masing0masing dapatberlainan tipe.

    4ontoh *eklarasi record

    C-pe Necarang = record ?aa : string

    6ulah : integer arga : longint nd5ar#arang : recarang

    2$N&$H PE"'A!ALAHAN + @

    Program contoh record, membaca masukan dari keyboard dan menampilkan kembali dalam bentukda$tar.

    0rogra record1

    uses crt

    t-pe kr- = record

    naa : stringH2!Ialaat : stringH3!Igol : charga%i : longinttun% : longint

    end/ar pegawai : arra-H1..1!!I of kr- pegawaist : kr-

    i,% : -te

    egin writeln(7#ila ingin engakhiri input, asukkan titik (.) pada naa7) % := ! write(7?aa : 7)readln(n) while n &W 7.7 do egin %:=%1 pegawaiH%I.naa := n write(7Dlaat : 7)readln(pegawaiH%I.alaat) write(7Rolongan : 7)readln(pegawaiH%I.gol)

    3M

  • 5/19/2018 Modul Pascal.doc

    39/39

    case pegawaiH%I.gol of 7D7, 7a7 : egin 0egawaiH%I.ga%i := 2!!!!!! 0egawaiH%I.tun% := '!!!!!

    7#7, 77 : egin 0egawaiH%I.ga%i := 1!!!!!! 0egawaiH%I.tun% := 2'!!!!

    lse#egin

    0egawaiH%I.ga%i := '!!!!! 0egawaiH%I.tun% := 2!!!!!

    nd nd write(7?aa : 7)readln(n)

    nd

    lrscrBriteln(7=================================================7)Briteln(7 ?G ?D9D DD9DC RG RD6V C>?6D?RD?7

    Briteln(7=================================================7)For i:=1 to % do Briteln(7i7, pegawaiHiI.naa, pegawaiHiI.alaat, pegawaiHiI.gol,

    pegawaiHiI.ga%i, pegawaiHiI.tun%angan)Briteln(7=================================================7)nd.

    3I


Recommended