Modul Algor & Str Data

download Modul Algor & Str Data

of 67

Transcript of Modul Algor & Str Data

  • 7/25/2019 Modul Algor & Str Data

    1/67

    BAB IPENDAHULUAN

    A. Pengertian Algoritma.

    Seorang yang pertama kali akan menyelesaikanpekerjaannya dengan menggunakan jasa komputer akan selalumempunyai kesan bahwa usaha pertama yang perlu dilakukanadalah memahami bahasa komputer. Kesan ini sebenarnyakurang tepat. Hal utama adalah menemukan metodepenyelesaiannya. Apabila metodenya telah ditetapkan, usahalanjut merupakan pekerjaan rutin yaitu, menuliskan pekerjaantersebut ke dalam bahasa komputer, apakah dalam bahasaCOBOL, ASCAL, !O"#"A$, BAS%C, atau bahasa rakitan &assemblylanguage'. Bagian yang sangat penting untuk suksesnya

    pekerjaan terletak pada usaha membuat urutan(langkahpenyelesaian se)ara rin)i. *saha ini disebut menulis AL+O"%#Abagi program komputer.

    Algoritma yang ditulis ke dalam bahasa komputer disebut"O+"A. Kalimat -algorithm diambil dari nama seorangmatematikawan yang juga seorang astronomi berkebangsaanArab, AL/KHO0A"%1% yang hidup di abad ke 23, beliau dikenalsebagai pengarang buku matematika yang membahas manipulasiangka/angka beserta rumusan/rumusan aljabarnya.

    Sekarang, algoritma baik sebagai aturan/aturan aljabar untukmenghitung angka/angka, maupun sebagai manipulasi simbol/

    simbol dalam aljabar. Si4at perintah yang dapat dianggap sebagaialgoritma ditentukan oleh kelengkapan perintah tersebut. Karenakomputer bukan manusia, 4aktor ke)erdikan tidaklah dikenal.Komputer hanya mampu bekerja tidak lebih dan tidak kurangmengeksekusi program dengan menelusuri perintah/perintahyang dibuat dalam suatu program.

    Defnisi AlgoritmaAlgoritma adalah urutan langkah-langkah penyelesaianmasalah yang disusun secara sistematis dan logis.

    Kata Logis merupakan kata kun)i dalam Algoritma. Langkah/langkah dalam Algoritma harus logis dan harus dapat ditentukanbernilai salah atau benar.

    Algoritma adalah jantung ilmu komputer atau in4ormatika.Banyak )abang ilmu komputer yang dia)u dalam terminologialgoritma. $amun jangan beranggapan algoritma selalu identikdengan ilmu komputer saja.

    5alam kehidupan sehari/haripun banyak terdapat prosesyang dinyatakan dalam suatu algoritma. Cara/)ara membuat kueatau masakan yang dinyatakan dalam suatu resep juga dapat

    disebut sebagai algoritma. ada setiap resep selalu ada urutanlangkah/lankah membuat masakan. Bila langkah/langkahnyatidak logis, tidak dapat dihasilkan masakan yang diinginkan. %bu/ibu yang men)oba suatu resep masakan akan memba)a satu persatu langkah/langkah pembuatannya lalu ia mengerjakan prosessesuai yang ia ba)a. Se)ara umum, pihak &benda' yangmengerjakan proses disebut pemroses &processor'. emroses

  • 7/25/2019 Modul Algor & Str Data

    2/67

    tersebut dapat berupa manusia, komputer, robot atau alat/alatelektronik lainnya. emroses melakukan suatu proses denganmelaksanakan atau -mengeksekusi algoritma yang menjabarkanproses tersebut.

    elaksanakan Algoritma berarti mengerjakan langkah/langkah di dalam Algoritma tersebut. emroses mengerjakanproses sesuai dengan algoritma yang diberikan kepadanya. 6urumasak membuat kue berdasarkan resep yang diberikankepadanya, pianis memainkan lagu berdasarkan papan not balok.Karena itu suatu Algoritma harus dinyatakan dalam bentuk yangdapat dimengerti oleh pemroses. 6adi suatu pemroses harus7

    2. engerti setiap langkah dalam Algoritma8. engerjakan operasi yang bersesuaian dengan langkahtersebut.

    B. Mekanisme Pelaksanan Algoritma Oleh Pemroses

    Komputer hanyalah salah satu pemroses. Agar dapatdilaksanakan oleh komputer, algoritma harus ditulis dalam notasibahasa pemrograman sehingga dinamakan program. 6adiprogram adalah perwujudan atau implementasi teknis Algoritmayang ditulis dalam bahasa pemrogaman tertentu sehingga dapatdilaksanakan oleh komputer.

    C. Belajar Memprogram Dan Belajar Bahasa Pemrograman

    Belajar memprogram tidak sama dengan belajar bahasapemrograman. Belajar memprogram adalah belajar tentangmetodologi peme)ahan masalah, kemudian menuangkannyadalam suatu notasi tertentu yang mudah diba)a dan dipahami.Sedangkan belajar bahasa pemrograman berarti belajar memakaisuatu bahasa aturan/aturan tata bahasanya, instruksi/instruksinya, tata )ara pengoperasian compiler-nya, danmeman4aatkan instruksi/instruksi tersebut untuk membuatprogram yang ditulis hanya dalam bahasa itu saja.

    D. Belajar Memprogram

    Belajar memprogram . belajar bahasa pemrograman

    Belajar memprogram 7 belajar tentang strategi peme)ahanmasalah, metodologi dan sistematika peme)ahan masalahkemudian menuliskannya dalam notasi yang disepakatibersama

    Belajar memprogram 7 bersi4at pemahaman persoalan, analisisdan sintesis

    Belajar memprogram, titik berat 7 designer program

    E. Belajar Bahasa Pemrograman

    Belajar bahasa pemrograman 7 belajar memakai suatu bahasapemrograman, aturan sintaks, tata)ara untuk meman4aatkaninstruksi yang spesi9k untuk setiap bahasa

    Belajar bahasa pemrograman , titik berat 7 )oder

    8

  • 7/25/2019 Modul Algor & Str Data

    3/67

    . Pro!"k #ang !ihasilkan pemrogram $

    rogram dengan ran)angan yang baik &metodologis, sistematis'

    5apat dieksekusi oleh mesin

    Ber4ungsi dengan benar Sanggup melayani segala kemungkinan masukan

    5isertai dokumentasi

    Belajar memprogram, titik berat 7 designer program

    %A&U&

    Algoritma

    Aksi 7: Kejadian yang terjadi pada selang waktu terbatas &dimulai

    saat #; dan berakhir pada saat #2': enghasilkan e4ek netto yang terde9nisi dengan baik dan

    diren)anakanContoh $

    : %bu #ati meng"pas kentang untuk mempersiapkan makanmalam &luas ruang lingkupnya'

    : Karena ruang lingkup luas, maka harus dide9nisikankeadaan awal dan e4ek netto yang diren)anakan & %nitialState dan !inal State'.

    : %nitial State &keadaan awal' 7 #; kentang sudah adadikantong kentang, dan ditaruh di rak dapur dimana ibu #ati

    akan mengupasnya.: !inal State &keadaan akhir' 7 #2 kentang dalam keadaan

    terkupas di pan)i, siap untuk dimasak dan kantongkertasnya harus dikembalikan ke rak lagi.

    : Kejadian 7 urut/urutan dari beberapa aksi yang terjadise)ara berurutan.

    :

  • 7/25/2019 Modul Algor & Str Data

    4/67

    'i!ak karena ibu #ati tidak mungkin mengupas kentang yangsama dengan kemarin

    &ama karena kemiripan pola yang dilakukan sebagainya.

    (. Pen"lisan Algoritma

    $otasi Algoritma dapat diterjemahkan ke dalam berbagaibahasa pemrograman. Analoginya sama dengan resep membuatkue. Sebuah resep dapat ditulis dalam bahasa apapun. Bahasa6epang, %nggris, eran)is, %ndonesia, dan lain sebagainya. Apapunbahasanya, kue yang dihasilkan tetap sama asalkan semuaaturan pada resep diikuti.engapa demikian = Karena setiap juru masak &sebagaipemroses' dapat melakukan operasi dasar yang sama, seperti

    mengo)ok telur, menimbang berat gula, dan lain.5emikian juga halnya dengan komputer. eskipun setiapkomputer berbeda teknologinya, tetapi se)ara umum semuakomputer dapat melakukan operasi/operasi dasar dalampemrograman seperti operasi pemba)aan data, operasiperbandingan, operasi aritmatika, dan sebagainya.erkembangan teknologi komputer tidak mengubah operasi/operasi dasar it, yang berubah hanyalah ke)epatan, biaya, atautingkat ketelitian. ada sisi lain setiap program dalam bahasatingkat tinggi selalu diterjemahkan ke dalam bahasa mesinsebelum akhirnya dikerjakan oleh C*. Setiap instruksi dalam

    bahasa mesin menyajikan operasi dasar yang sesuai, danmenghasilkan e4ek netto yang sama pada setiap komputer.

    ? 5alam )ahasa nat"ral&Bahasa %ndonesia, Bahasa %nggris,dan bahasa manusia lainnya'#api sering membingungkan &ambiguous'

    ? enggunakan fow chart&diagram alir'Bagus se)ara @isual akan tetapi repot kalau algoritmanyapanjang

    ? enggunakan )ahasa pemrogramanSulit dimengerti oleh orang yang tidak mengerti pemrograman

    Contoh7: B"at se)"ah algoritma "nt"k men*etak t"lisan

    +&OLO BE,&E,I- se)an#ak lima )aris !ila#ar komp"ter.

    Algoritma 5alam Bahasa $atural

    2' Berilah nilai jumlah )etak pertama sama dengan ; & ;'8' #ambah nilai )etak dengan satu & 2'

    >' Cetak tulisan -SOLO B

  • 7/25/2019 Modul Algor & Str Data

    5/67

  • 7/25/2019 Modul Algor & Str Data

    6/67

    >. Harus ditunjukkan dari mana kegiatan akan dimulai dandimana akan berakhir.

    D. asing/masing kegiatan di dalam bagan alir sebaiknyadigunakan suatu kata yang mewakili suatu pekerjaan,

    misalnya7- -ersiapkan dokumen- -Hitung gaji

    E. asing/masing kegiatan di dalam bagan alir &fowchart' harusdalam urutan yang semestinya.

    . Kegiatan yang terpotong dan akan disambung ditempat lainharus ditunjukkan dengan jelas menggunakan simbolpenghubung.

    Bagan alir &fowchart' dapat digolongkan menjadi E jenis yakni7

    2. Bagan alir sistem (system fowchart)8. Bagan alir dokumen (documen fowchart)>. Bagan alir skematik (scematic fowchart)D. Bagan alir program (program fowchart)E. Bagan alir proses (proses fowchart)

    0. Bagan Alir stem

    Bagan alir sistem &systems ow)hart' merupakan baganyang menunjukkan arus pekerjaan se)ara keseluruhan dari

    sistem. Bagan ini menjelaskan urut/urutan dari prosedur/prosedur yang ada di dalam sistem.bagan alir sistemmenunjukkan apa yang dikerjakan di sistem. Bagan alir sistemdigambar dengan menggunakan sisbol/simbol yang tampaksebagai berikut7

    Simbul dokumen enunjukkan dokumen input danaoutput baik untuk prosesmanual, mekanik atau komputer.

    Simbol kegiatanmanual

    enunjukkan pekerjaan manual

    Simbol simpanan !ile non/komputer yang diarsipurut angka &numerical'

    !ile non/komputer yang diarsip

    urut huru4 &alphabetical'

    N

    A

  • 7/25/2019 Modul Algor & Str Data

    7/67

    !ile non/komputer yang diarsipurut tanggal &cronological'

    Simbol kartu plong enunjukkan input(output yangmenggunakan kartu plong&punched card'

    Simbol proses enunjukkan kegiatan proses darioperasi program komputer

    Simbol operasi luar enunjukkan operasi yangdilakukan di luar proses operasikomputer

    Simbol pengurutandata

    enunjukkan proses pengurutandata di luar proses komputer

    Simbol pita magnetik enunjukkan input(outputmenggunakan pita magnetik

    Simbol hardisk enunjukkan input(outputmenggunakan hardisk

    Simbol diskette enunjukkan input(outputmenggunakan diskette

    Simbol drum magnetik enunjukkan input(outputmenggunakan drum magnetik

    ita kertas berlubang enunjukkan input(outputmenggunakan pita kertasberlubang

    M

    C

  • 7/25/2019 Modul Algor & Str Data

    8/67

    Simbol keyboard enunjukkan input menggunakankeyboard

    Simbol display enunjukkan output yangditampilkan di monitor

    Simbol garis alir enunjukkan arus dari proses

    Simbol penjelasan enunjukkan penjelasan dari

    suatu proses

    Simbol penghubung enunjukkan penghubung kehalaman yang masih sama atauke halaman lain

    1. Bagan Alir Dok"men

    Bagar alir dokumen &document fowchart' atau disebutjuga bagan alir 4ormulir &orm fowchart' merupakan baganalir yang menunjukkan arus dari laporan dan 4ormulirtermasuk tembusan/tembusannya. Bagan alir dokumen inimenggunakan simbol/simbol yang sama dengan yangdigunakan di dalam bagan alir system.

    2. Bagan Alir &kematik

    Bagan alir skematik &scematic fowchart' merupakanbagan alir yang mirip dengan bagan alir sistem, yaitu untukmenggambarkan prosedure di dalam sistem. erbedaannyaadalah, bagan alir skematik selain menggunakan simbol/simbol bagan alir sistem, juga menggunakan gambar/gambarkomputer ini adalah untuk memu/dahkan komunikasi kepadaorang yang kurang paham dengan simbol/simbol bagan alir.enggunaan gambar/gambar ini memudahkan untuk dipahami,tetapi sulit dan lama menggambarkannya.

    3. Bagan Alir Proses

    Bagan alir proses &proses ow)hart' merupakan bagan aliryang banyak digunakan di teknik industri. Bagan alir ini jugaberguna bagi analis sistem untuk menggambarkan prosesdalam suatu prosedur.

    N

  • 7/25/2019 Modul Algor & Str Data

    9/67

    4. Bagan Alir Program

    Bagan alir program &program fowchart)merupakan baganyang menjelaskan se)ara rin)i langkah/langkah dari prosesprogram. Bagan alir program dibuat dengan menggunakansimbol/simbol sebagai berikut7

    &IMBOL NAMA UN(&I

    'E,MINA'O,ermulaan(akhir

    program

    (A,I& ALI,5LO6 LINE7

    Arah aliran program

    P,EPA,A'IONroses

    inisialisasi(pemberianharga awal

    P,O&E&

    rosesperhitungan(prosespengolahan data

    INPU'OU'PU' DA'A

    roses input(outputdata, parameter,

    in4ormasi

    P,EDEINEDP,OCE&&

    5&UBP,O(,AM7

    ermulaan subprogram(proses

    menjalankan subprogram

    DECI&ION

    erbandinganpernyataan,

    penyeleksian data yangmemberikan pilihan

    untuk langkahselanjutnya

    ON PA(ECONNEC'O,

    enghubung bagian/bagian ow)hart yang

    berada pada satu

    halaman

    O PA(ECONNEC'O,

    enghubung bagian/bagian ow)hart yangberada pada halaman

    berbeda

    3

  • 7/25/2019 Modul Algor & Str Data

    10/67

    Contoh7 Bagan Alir Logika rogram untuk menghitung rata/ratasekelompok angka.

    2;

    Berinilaiawal#otal

    Ba)a

    5ata

    Hitung#otal

    Hitung "ata/rata

    #ampilkan hasil#otal dan "ata/

    rata

    ulai

    5atasudahhabis

    Selesai

    J

    #

  • 7/25/2019 Modul Algor & Str Data

    11/67

    Contoh Bagan Alir program komputer terin)i menghitung rata/rata.

    BAB II

    22

    #otal;

    %;

    Ba)a

    #otal#otal

    %$

    Cetak#otal dan

    "ata

    Ba)a $

    "ata#otal($

    % % 2

    ulai

    J

    #

    Selesai

  • 7/25/2019 Modul Algor & Str Data

    12/67

    PEN(AN'A, PEM,O(,AMAN PA&CAL

    A. Pen!ah"l"an

    Selesai membuat algoritma atau bagan alir, langkahselanjutnya adalah membuat program komputer. rogram inidapat dibuat dalam bahasa pemrograman, misalnya7 Cobol,!ortran, Basi), as)al dan sebagainya. enulis program komputermerupakan bagian dari seri tahapan kerja di dalam sikluspengembangan program. *rutan dari siklus tahapan kerjapengembangan program ini adalah72. eren)anakan sistem spesi9kasi program.

    #ahapan ini termasuk menjelaskan masalah dalam rumusandasarnya, ekspresi persamaan matematikanya dan bentukhasil yang diharapkan.

    8. embuat prosedur logika &algoritma(bagan alir'>. embuat program berdasarkan penjelasan

    algoritma(bagan alir program.D. emeriksa dan melakukan eksekusi programE. embuat dokumentasi program dan keluaran dari

    eksekusi program.5i dalam tahapan, pemrogram &progammer' harus

    menguasai aturan baku yang sudah merupakan standar untukberkomunikasi dengan komputer, misalnya bahasa apa yangakan digunakan, jenis komputer apa, dan peralatan lain yangakan digunakan.

    Sebelum dapat menjalankan suatu program padakomputer, diperlukan persiapan menulis prosedur pekerjaan danalgoritma atau bagan alir ke dalam bahasa komputer. as)almerupakan salah satu bahasa komputer tingkat tinggi.empelajari bahasa as)al sesungguhnya merupakanpengenalan bahasa yang baru untuk tujuan mempelajari aturankonstruksi bahasa agar dapat dipakai sebagai media komunikasidengan komputer.

    Kegagalan suatu program terjadi jika susunan atau aturaninstruksi yang digunakan terlalu rumit, untuk itu perlu dituliskandulu algoritma(bagan alir yang jelas dan benar. enulisan bagan

    alur &ow)hart' merupakan persyaratan yang perlu gunamenghindari kesalahan dalam program. ertimbangan berikutdapat menjadi a)uan untuk penulisan program yang baik70. Program har"s m"!ah !i)a*a !an m"!ah

    !ipahami.1. Men"lis kelompok perintah "nt"k sat" )agian

    pen#elesaian pekerjaan !engan tata pen"lisan tertent"m"lai !ari kolom #ang )er)e!a !ari kelompok perintahlainn#a. Ini memperm"!ah "saha per)aikan apa)ilaterja!i kesalahan.

    2. 'ent"kan !"l" program pen#ajian !ata

    5mas"kankel"aran7 "nt"k mem"!ahkan pemeriksaan.3. Pen"lisan program se)aikn#a )er)ent"k

    s")program g"na meng"rangi kem"ngkinan kesalahan.4. Usahakan program #ang si8atn#a !apat !isisipi9

    sehingga pa!a per*o)aan eksek"si program akanm"!ah memeriksa )agian #ang kelir".

    28

  • 7/25/2019 Modul Algor & Str Data

    13/67

    Suatu program yang baik mampu memberikan dokumentasiprogram yang terba)a oleh pemakai lainnya. erubahan padaprogram bila diperlukan mudah dilakukan tanpa modi9kasi yangberarti atau modi9kasi total.

    B. &tr"kt"r Pen"lisan Bahasa Pas*al

    Struktur bahasa as)al terdiri atas bagian/bagian sebagai berikut7a. 6udul rogramb. Blo)k rogram

    Bagian 5eklarasi

    Bagian ernyataan

    6udul rogram

    Bagian 5eklarasi

    Bagian pernyataan

    ernyataanFernyataanF

    rogram yang paling sederhana dari pas)al adalah hanya terdiridari sebuah bagian pernyataan saja &statement part' yang diawalidengan kata )adangan &reser@ed word' B

  • 7/25/2019 Modul Algor & Str Data

    14/67

    namaprogram merupakan indikasi untuk menulis nama program,jika namaprogram disebut Contoh maka sintak dari judulprogram adalah7

    P,O(,AM ContohD ,17>'

  • 7/25/2019 Modul Algor & Str Data

    18/67

    rogram Contoh!un)tionF

    !un)tion H%#*$+&A,B7%nteger'7 %ntegerFBegin

    hitung 7 ABF ,H%#*$+&8,>'7>'F "ngsi Hakiki '"r)o Pas*al.

    a. Operator 5asar

    A,'I NO'A&Ienambahan engurangan /

    erkalian Rembagian (

    b. Operator embanding

    OPE,A'O

    ,

    A,'I %E&AMAAN A,I'MA'I%

    Sama dengan

    VW #idak samadengan

    X

    V Lebih ke)il dari V

    W Lebih besar dari W

    V Lebih ke)il atausama denga dari

    Y

    W Lebih besar atausama dengan dari Z

    2N

  • 7/25/2019 Modul Algor & Str Data

    19/67

    *. Operator Boolean

    NO'A&I A,'IA$5 5an

    O" Atau$O# bukan

    !. "ngsi Hakiki.

    2. !ungsi Hakiki Aritmatik

    "ngsi %ata'"nt"na

    n

    Contoh Hasil

    $ilai mutlak ABS 7ABS&/28.E'F

    %7ABS&/2M'F

    28.E

    %2M

    Ar)tangensial A"C#A$ 7A"C#A$&2.>D'F

    ;.83E Rpi

    Cosinus COS 7COS&pi R;.E'F

    ;

    E.D'F >E.;;

    Logaritma LO+ 7L$&E'F 2.;3

    Sinus S%$ 7S%$&pi R ;.M'F ;.N;3

    Kwadrat S[" 7S["&>.E'F 28.8E

    Akar S["# 7S["#&8E'F E

    8. !ungsi Hakiki Skalar

    "ngsi %ata'"nt"na

    n

    Contoh Hasil

    $ilai lebihrendah&sebelumnya'

    "

  • 7/25/2019 Modul Algor & Str Data

    20/67

    >. !ungsi Hakiki Kon@ersi

    "ngsi %ata

    '"nt"nan

    Contoh Hasil

    Kon@ersi $ilaibilangan Bulatmenjadi karakter

    CH" 7CH"&E'FACH"&NN'F

    IAIAII

    Kon@erasikarakter menjadibilangan bulat

    O"5 7O"5&aI'FA7O"5&\I'F

    3MA82

    embulatan "O*$5 7"O*$5&8.EM'F

    >

    A7"O*$5&8.8M' A8

    emenggalan #"*$C 7#"*$C&8.EM'FA7#"*$C&8.8M'F

    8A8

    8;

  • 7/25/2019 Modul Algor & Str Data

    21/67

    BAB III'?PE DA'A DALAM PEM,O(,AMAN PA&CAL

    5alam as)al semua perubah &@ariabel' yang akan digunakan

    dalam program utama harus ditentukan &di deklarasikan' tepedatanya. enentukan tipe data suatu perubah, sekaligusmenentukan batasan nilai perubah tersebut dan jenis operasi yangbisa dilaksanakan terhadap perubah &@ariabel' tersebut. Ada > jenisdasar dari tipe data pada #urbo as)al yaitu7

    2. Sederhana8. #erstruktur>. ointer

    Lebih terin)i dapat dilihat pada gambar berikut7

    +ambar 7 Kategorisasi tipe data pada as)al

    82

    Sederha ointer

    Standart 5ide9nisikanpemakai

    String Array "e)ord !ile

    Ordinal "eal

    Subrange #erbilang

    Byte %nteger Char Boolean Shortint 0ord Longint

    #ipe

    #erstruku

  • 7/25/2019 Modul Algor & Str Data

    22/67

    A. 'ipe Data &e!erhana

    0. 'ipe Data &tan!ar

    a. 'ipe Or!inal

    a.0. 'ipe Data Interger

    #ipe data %nteger adalah bilangan bulat atau tipe datayang nilainya tidak mempunyai titik desimal. adaas)al tipe data numeri) ada 8 yaitu %nteger dan "eal.

    '#pe :angak"an NilaiByte ; s(d 88E

    Shortint /28N s(d 28M

    %nterger />8MN s(d >8MM0ord ; s(d EE>E

    Longint /82DMDN>DN s(d 82DMDN>DM

    #abel 7 #ipe 5ata %nteger dan batasan nilainya

    Contoh7

    rogram ContohintegerF

    Gar

    , J 7 %ntegerFBegin

    72;FJ7REF0riteln&$ilai J 7 ,J7>'F

  • 7/25/2019 Modul Algor & Str Data

    23/67

    a.>. #ype 5ata Boolean5ata tipe Bolean mempunyai dua nilai, yaitu #rue&2nilai binernya' dan !alse &; nilai binernya'. Gariabel

    Bolean dideklarasikan menggunakan tipe dataBoolean.

    Contoh7

    rogram #ypeBooleanFGar lagi 7 booleanFbegin Lagi74alseF 0riteln&$ilai lagi adalah 7 ,lagi'F

    i4 lagitrue then writeln&$ilai lagi benar' else writeln&$ilai lagi salah'F readlnF end.

    ). '#pe Data ,eal

    5ata tipe "eal adalah bilangan yang berisi titik desimal

    atau bilangan nyata. 5alam as)al paling sedikit harus adasatu digit sebelumnya dab sesudahnya titik desimal tidakboleh ada koma &pembatas tanda desimal adalah titikbukan koma' dan nilainya dapat positi4 atau negati4. 5alamas)al terdapat lima ma)am tipe data "eal, yaitu7 "eal,single, double, e]tended dan )omp. *ntuk jelasnya dibawahini ditunjukan batasan/batasan nilai tipe data real.

    #ype Batasan $ilai Angkasigni9kan

    "eal 8.3 2;3^2.M 2;N 22 : 28

    Singgle 2.E 2;.D 2;N M : N5ouble E.; 2;8D^2.M 2;;N 2E : 2

  • 7/25/2019 Modul Algor & Str Data

    24/67

    Contoh7

    rogram #ype5ata"ealFGar

    $ilai 7 "ealFBegin$ilai 7 22;;.EEF0riteln&$ilai yang ter)etak 7 ,nilai778'F

  • 7/25/2019 Modul Algor & Str Data

    25/67

    Contoh 2 7

    rogram #ipe5ataSubrangeF

    #ype $ilai 2..DFGar

    Angka7 nilaiFBegin

    Angka7>F0riteln&$ilai angka 7 ,angka'F

  • 7/25/2019 Modul Algor & Str Data

    26/67

    Contoh7

    rogram #ipestringFGar

    $AA 7 S#"%$+P8;QFALAA#S#"%$+F

    B

  • 7/25/2019 Modul Algor & Str Data

    27/67

    BAB I=MA&U%AN9 %ELUA,AN9 LO(I%A PE,CABAN(AN DAN

    PE,ULAN(AN

    A. Mas"kan !an %el"aran

    Sebelum kita membuat sebuah program yang komplek ,maka terlebih dahulu kita harus memahami perintah/perintahdasar &elemen' dari #urbo as)al yang terkait dengan bagaimanamemasukan&masukan' data dan men)etak hasil &keluaran' data.erintah/perintah dasar tersebut adalah 0rite, 0riteln, "ead dan"eadln.

    0. %el"aran 56rite !an 6riteln7

    a. 6riteerintah untuk men)etak hasil pada layar, dan hasilnyadi)etak pada baris yang sama, bukan pada barisberikutnya.

    Contoh 27rogram CobaFBegin

    0rite&Aku I'F0rite&dan I'F

    0rite&5iaI'F

  • 7/25/2019 Modul Algor & Str Data

    28/67

    Contoh 27rogram CobaFBegin

    0riteln&AkuI'F

    0riteln&danI'F0riteln&5iaI'F'F

    ;Luas E;

    &oal !an Pem)ahasan

    8N

  • 7/25/2019 Modul Algor & Str Data

    29/67

    0. Amir mem)eli sepat" seharga ,p. 04@.@@@9 sepat"#ang !i)eli Amir !i !iskon 0@. Berapa harga #anghar"s !i)a#ar oleh Amir.

    a. Pe*ahkan Algoritma lo/*hart Programn#a.

    ). B"at Program Pas*aln#a.

    6awab7Algoritma Nat"ral.

    a. #entukan harga sepatub. #entukan diskon). Hitung otongand. Hitung Harga bayare. Cetak harga Bayar

    lo/*hart 5Mas"kan !ari program7

    83

    ulai

    Harga2E;;;;5iskon ;.2

    otong5iskon RHarga /

    Cetakotong danBayar

    Selesai

  • 7/25/2019 Modul Algor & Str Data

    30/67

    Program Pas*al$

    rogram Latih2F*ses CrtF

    Gar Harga 7 %ntegerF5iskon, otong, Bayar 7 "ealF

    BeginHarga72E;;;;F5iskon7;.2Fotong75iskon R HargaFBayar7Harga : otongF0riteln&Harga Sepatu ,Harga72;'F0riteln&5iskon ,otong7N78'F

    0riteln&6umlah Bayar ,Bayar72;78'F

  • 7/25/2019 Modul Algor & Str Data

    31/67

    rogram as)al7

    rogram Latih2F*ses CrtF

    Gar Harga 7 %ntegerF5iskon, otong, Bayar 7 "ealF

    Begin0rite&asukan harga 'Freadln&Harga'F0rite&asukan 5iskon 'Freadln&5iskon'Fotong75iskon R HargaFBayar7Harga : otongF0riteln&Harga Sepatu ,Harga72;'F0riteln&5iskon ,otong7N78'F

    0riteln&6umlah Bayar ,Bayar72;78'F

  • 7/25/2019 Modul Algor & Str Data

    32/67

    lo/*hart$

    Program Pas*al$

    rogram Latih8F*ses CrtFConst * 7 >;;;;FGar

    $% 7 StringPEQF $ama 7 StringP2EQF *

    +,#6,+K,H#,+B 7 "ealF

    Begin Clrs)rF

    0rite&$o. %nduk egawai 'Freadln&$%'F0rite&$ama egawai 'Freadln&$ama'F0rite&+aji okok 'Freadln&+'F#67;.2; R +F

    +K7+ #6F#H7;.;E R +KF+B 7 +K : #HF0ritelnunjangan ,#672;78'F0riteln&+aji Kotor ,+K72;78'F0riteln.Hari #ua ,#H72;78'F

    0riteln&+aji Bersih ,+B72;78'F

    >8

    ulai

    * >;.;;;

    Ba)an$%,$ama,+

    #6 2; R ++K + #6H# E R +K+B +K / H#

    Cetak +, #6,+K, H#, +B

    ulai

  • 7/25/2019 Modul Algor & Str Data

    33/67

    >

  • 7/25/2019 Modul Algor & Str Data

    34/67

    B. Mengenal Logika Per*a)angan.

    Logika per)abangan adalah proses menentukan suatukondisi atau memilih kegiatan tertentu sesuai dengan proses

    logika yang benar. 5i dalam as)al proses logika per)abanganterdapat dua perintah yaitu per)abgan %! ^. #hen^ dan Case O4.

    0. Logika Per*a)angan I'HEN. EL&E..

    Bentuk umum7%4 Kondisi #hen ernyataan2

  • 7/25/2019 Modul Algor & Str Data

    35/67

    1. Logika Case O8

    Bentuk umum7

    Case =ar O8 %on!isi0 $ Pern#ataan0< %on!isi1 $ Pern#ataan1. Cek apakah W2; maka langsung ke langkah $o. D. Cetak E. *langi ke langkah 8. Selesai

    lo/*hart

    Dengan orDo

    rogram LA#%HA$Fuses )rtF

    Gar 7%ntegerFBegin )lrs)rF

    DN

    ulai

    ;

    2

    W2;

    Cetak

    SelesaiJ

    #

    ulai

    2

    2;

    Cetak

    SelesaiJ

    #

    2

    ata"

  • 7/25/2019 Modul Algor & Str Data

    49/67

    !or 72 to 2; do Begin 0"%#'F 2.2;;.;;; 22;.;;; 2.82;.;;;D

    5st2;

    :a/a)$Algoritma Nat"ral $

    2'. Ba)a $ilai okok #abungan & 2.;;;.;;;'8'. Lakukan pemberian nilai awal Bunga ;, Bulan ;>'. Lakukan penambahan nilai bulan plus 2D'. Cek apakah bulan W 2;, jika ya maka menuju ke langkah 2;,

    jika belum lanjutkan langkah berikutmua.E'. Hitung #otal &okok bunga''. Cetak Bulan, okok, Bunga dan #otal.M'. Lakukan pemindahan nilai pokok sama dengan total &pokok

    total'N'. Hitung bungan per bulan &bunga 2;Rpokok'3'. *langi langkah >2;'. Selesai pekerjaan.

    lo/*hart > Program$

    lo/*hart Program

    rogram LatihanF*ses CrtF

    Gar K, B+, #O# 7 "ealF BL 7 %ntegerF

    Begin Clrs)rF0riteln&/////////////////////////////

    D3

    ulai

    K2;;;;;

    BL;,B+;

    #O#;

    BL BL 2#O#KB+

    Cetak

    BL, K,B+,#O#

    BL2;

    SelesaiJ#

    K#O#

    B+2; K

  • 7/25/2019 Modul Algor & Str Data

    50/67

    ///////////'F0riteln&Bln okok Bunga#otal 'F0riteln&/////////////////////////////

    ///////////'FK72;;;;;F B+7;,#O#7;F"

  • 7/25/2019 Modul Algor & Str Data

    51/67

    BAB =MEN(ENAL 'IPE DA'A A,,A?

    #ipe Array &Larik' adalah tipe data terstruktur yangmempunyai komponen dalam jumlah yang tetap dan setiapkomponen mempunyai tipe data yang sama. osisi masing/masingkomponen dalam larik &array' dinyatakan sebagai nomor indek. Larikmerupakan himpunan terurut dan indek merupakan posisi urutankompnen. Larik dalam bahasa as)al dinyatakan dengan katatuntunan A""AJ yang ditempatkan pada bagian deklarasi. 5eklarasilarik menetapkan ukuran dan jenis larik.

    Salah satu struktur data yang paling banyak digunakan adalahArray. Array mengijinkan kita membuat multi elemen dangan tipelain &disebut dasar tipe data Array' dan mengakses elemen/elemen

    tersebut dengan menggunakan subs)ript, dengan )ara yang samaseperti anda dapat mengakses setiap karakter pada string denganmengspesi9kasi lokasi karakter dalam string. Sebenarnya data stringdalam as)al merupakan Array dari karakter.

    Bentuk umum deklarasi tipe data larik &A""AJ'

    '#pe Pengenal $ Arra#tipe in!ekF o8 tipeF

    ED

  • 7/25/2019 Modul Algor & Str Data

    55/67

    6awab7

    LO6CHA,' P,O(,AM

    "O+"A COBAF*S

  • 7/25/2019 Modul Algor & Str Data

    56/67

    &OAL$

    2'.Buatlah suatu algoritma &!low)hart' dan program as)alnyauntuk memba)a sebuah Array kemudian men)etaknya dalam

    layar nampak seperti berikut ini.

    5A!#A" $%LA% *6%A$

    $O $AA AHAS%S0A $L.%5 $L.S#

    6L "A#A/"A#A

    2 Budiman 28 8 "udiman M N 2E M.E> 0ardoyo N N 2 N

    5st

    $ +unawan M N 2E M.E

    %eterangan.a' 6ml $ilai $ilai id $ilai S#b' "ata/rata 6ml $ilai(8

    :a/a)$a. Algoritma Nat"ral

    2'. esankan A""AJ sebanyak 2;;8'. Lakukan pemberian nilai ; dan 65;>'. Lakukan penambahan dengan 2D'. Ba)a $amaP]Q, $idP]Q, $ujianP]QE'. Cek apakah masih ingin isi data lagi. 6ika ya maka menuju

    ke langkah >, jika tidak menuju ke langkah .'. Lakukan pemberian nilai 65N'. Lakukan pemberian nilai ;3'. Lakukan penambahan nilai dengan angka 22;'. Hitung 6umlah $ilai &6L $midP]Q $ujianP]Q'22'. Hitung "ata/rata $ilai &"A#A 6L(8'2>'. Cetak , $amaP]Q, $midP]Q, $ujianP]Q, 6L, "A#A2;'. Cek apakah 65. 6ika tidak maka menuju ke langkah 3,

    jika ya selesai.

    E

  • 7/25/2019 Modul Algor & Str Data

    57/67

    ). lo/*hart

    *. Program

    rogram CobaF*ses C"#F#ype $%LA% 2..DF

    EM

    *LA%

    ;

    2

    %$*# $PQ,

    $%5PQ,$*6%A$PQ

    LA+%

    J

    #

    65 ;

    2

    6L $%5PQ$*6%A$PQ

    Cetak$PQ, $%5PQ,$*6%A$PQ, 6L,

    "A#A

    65

    S

  • 7/25/2019 Modul Algor & Str Data

    58/67

    H*"*! S#"%$+P8EQFGA" $AA 7 A""AJP2..E;Q O! H*"*!F $2,$8 7 A""AJP2..E;Q O! $%LA%F

    6L,65, 7 %$#78, 'F

  • 7/25/2019 Modul Algor & Str Data

    59/67

    &oal$

    2'.Buatlah ow)hart dan program pas)alnya untuk menyelesaikanpermasalahan dibawah ini.

    #. akmur setiap bulan membuat da4tar gaji pegawai dengan4ormat )etakan sebagai berikut7

    NO NAMA (OL

    (A:IPO%O%

    'UN:AN(AN

    'O'AL

    2 B*5%A$ A E;;;;; E;;;; EE;;;;8 A%" B D;;;;; 8N;;; D8N;;;

    5S#

    E;

    %etent"an$a' +aji pokok dan #unjangan diatur sabagai berikut7

    (OL (A:I PO%O% 'UN:AN(AN

    A E;;.;;;,/ 2; +aji okokB D;;.;;;,/ M +aji okokC >;;.;;;,/ E +aji okok

    b'. #otal +aji +aji okok #unjangan

    8'. Lain halnya dengan #. andiri yang setiap bulan juga membuatda4tar gaji dengan 4ormat tampilan sebagai berikut7

    DA'A, (A:I PE(A6AIP' MANDI,I &U,A%A,'A

    No Nama (ol%!.Unit

    Unit%erja

    (ajiPokok '"njangan 'otal

    :UMLAH

    E3

  • 7/25/2019 Modul Algor & Str Data

    60/67

    %etent"an$a'. *nit kerja terdiri D unit dengan kode sebagai berikut7

    %o!e

    Unit

    Unit %erja

    2 Keuangan8 Kepegawaian> emasaranD roduksi

    b'.+aji okok egawai ditentukan sebagai berikut7

    )'. #unjangan diatur berdasarkan Kode *nit sebagai berikut7Kode unit 2 #unjangan 2E +aji okokKode unit 8 #unjangan 28 +aji okokKode unit > #unjangan 2; +aji okokKode unit D #unjangan M +aji okok

    d'. +aji #otal +aji okok #unjangan

    B. A,,A? DUA DIMEN&I

    Jang telah dibahas sebelumnya merupakan array yangbekerja dengan da4tar linier yang diakses dengan satu subskrip,yang disebut array satu dimensi. Array satu dimensi sebagaiitem/item kolom tunggal, yang semua itemnya bertipe sama.Kadabg/kadang kita perlu membuat struktur yang lebih komplekyang mempunyai dua dimensi yaitu berupa baris dan kolom.Sebagai )ontoh, andaikata kita akan menyimpan > tes untuk 2;;mahasiswa, kita dapat membuat tabel sebgai berikut7

    ;

    Unit %erja %e"angan(OL (A:I PO%O%

    A E;;.;;;B D;;.;;;C >;;.;;;

    Unit %erja %epega/aian(OL (A:I PO%O%

    A D;;.;;;B 8ME.;;;C 8;;.;;;

    Unit %erja Pemasaran(OL (A:I PO%O%

    A DE;.;;;B >E;.;;;C 8E;.;;;

    Unit %erja Pro!"ksi(OL (A:I PO%O%

    A D;;.;;;B >;;.;;;C 8;;.;;;

  • 7/25/2019 Modul Algor & Str Data

    61/67

    #est2 #est8 #es>

    ahasiswa

    2

    ahasiswa8

    ahasiswa8

    Subskrip pertama mewakili jumlah mahasiswa dan subskripkedua mewakili jumlah tes. 6ika nama arraynya #esHS, maka#esHSP2,8Q berarti mengandung nilai untuk mahasiswa pertama

    tes yang kedua. #esHSP>,2' mengandung tes pertama untukmahasiswa ke/>. 5ari uraian diatas struktur data dapatdideklarasikan sebagai berikut7

    '#pe Mahasis/a Arra#0..0@@90..2 o8 real

  • 7/25/2019 Modul Algor & Str Data

    64/67

    C. A,,A? 'I(A DIMEN&I

    A""AJ tiga dimensi ditentukan dengan menggunakan >indeks pada nama @ariabel elemen Array. Contoh sintk penulisan

    adalah aP8,D,2Q7>82 yang artinya sebagai ekpresi angka >82ditempatkan pada posisi baris ke/8, kolom ke D, dan tingkat ke 2.Sebagai gambaran dapat dilihat tabel sebgai berikut7

    Deklarasi Saria)el a a!alah se)agai )erik"t$

    =ar A $ Arra#0..390..390..2 o8 real