SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Universitas Putra Indonesia (UPI)
               “YPTK” Padang
           Fakultas Ilmu Komputer




                 Bahan Ajar


Matakuliah       : Algoritma dan Struktur Data I
Kode Mata Kuliah : KKKI13102




                   Padang
                  2009/2010

                     Team Dosen

            Algoritma dan Struktur Data I
Algoritma dan Struktur Data I



Materi Ajar

    1. Pengantar Algoritma
           - Pendahuluan
           - Pengertian Algoritma
    2. Dasar-Dasar Algoritma
           - Struktur Dasar algoritma
           - Runtunan (Struktur Urut)
           - Pemilihan Kondisi (Struktur Seleksi)
           - Perulangan
    3. Simbol-Simbol Program Flowchart
    4. Tipe Data, Nama (Variabel), dan Nilai
           - Tipe Dasar
           - Tipe Bentukan
           - Rekaman
           - Nama ( Variabel)
           - Operator Pada Pemrograman
    5. Runtunan
    6. Struktur Percabangan(Kondisi)
           - If........then
           - If........then ........else.......
           - If........then.........else if.......then......else............
           - Struktur Case
    7. Struktur Perulangan
           - Struktur While........Do
           - Struktur Repeat .......Until
           - Struktur For......to..... Do
    8. Procedure
           - Defenisi Procedure
           - Mendefenisikan Procedure
           - Pemanggilan Procedure
           - Nama Global dan Lokal
           - Parameter Masukan dan Parameter Keluaran
    9. Function
           - Mendefenisikan Function
           - Pemanggilan Function
    10. Larik (Array)
           - Defenisi Larik
           - Mendefenisikan Larik
           - Cara Mengacu Elemen Larik
           - Pemrosesan Larik




Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I

Pertemuan 1


                                Pengantar Algoritma
Pengertian Algoritma : adalah urutan langkah-langkah logis dalam
                   penyelesaian masalah yang disusun secara sistematis.

Contoh :

Tentukan nilai A dengan rumus yang bisa digunakan adalah C=A+B

C?  Untuk menentukan nilai C maka yang harus kita ketahui terlebih dahulu
     adalah nilai A dan nilai B

Untuk nilai A dan B ini dapat berupa konstanta atau merupakan hasil proses
yang lainnya. Jadi Nilai C tidak akan bisa didapatkan sebelum kita mengetahui
nilai A dan nilai B.
Jadi langkah pertama kita adalah menentukan nilai A dan B, kemudian baru
menghitung penjumlahan kedua nilai tersebut. Urutan inilah yang disebut
sebagai urutan logis.

Contoh lain adalah : untuk menukar isi bejana A yang berisi air berwarna Biru
dengan bejana B yang berisi air berwarna Merah. Sehingga nantinya bejana A
berisi air berwarna merah sedangkan bejana B berisi air berwarna Biru.

Algoritma adalah :
   - tuangkan isi bejana A ke bejana B, kemudian tuangkan isi bejana B ke
      bejana A.

Cara yang ditempuh diatas adalah SALAH karena pada saat isi bejana A
dituangkan ke bejana B maka air yang ada pada bejana B akan tercampur
dengan air yang ada pada bejana B, sehingga pada saat isi bejana B dituangkan
ke dalam bejana A maka Warnanya sudah tercampur dengan isi bejana A.

Algoritma yang tepat adalah :
   - Siapkan sebuah bejana dalam keadaan kosong diumpamakan dengan
      bejana C
   - Kemudian isi bejana A dituangkan kedalam bejana C sehingga bejana A
      dalam keadaan kosong
   - Langkah berikutnya isi bejana B dituangkan kedalam bejana A sehingga
      bejana B sekarang dalam keadaan kosong.
   - Baru kemudian isi bejana C dituangkan kedalam bejana B
   - Perhatikan bahwa isi bejana sudah berpindah ke bejana B dan isi bejana B
      sudah berpindah ke bejana A




Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I


       Alat-alat Bantu dalam menggambarkan Algoritma
       Untuk menggambarkan urutan suatu proses maka ada beberapa cara (alat
bantu) yang bisa digunakan. Cara yang digunakan harus sudah berlaku secara
umum dan mempunyai aturan-aturan tertentu.
Cara yang bisa digunakan antara lain :
   - Algoritma
   - IPO Chart
   - Flow Chart Program

Contoh penggunaan alat bantu diatas: (kasus dari contoh pertama)

C=A+B

    1. Algoritma
       Urutan instruksi yang diberikan adalah :
       - Tentukan nilai A dan B
       - Proses nilai A ditambah nilai B
       - Cetak hasil (nilai C)

    2. IPO Chart

             Dipanggil                   Memanggil


             Input A,B                   Output C




             Proses C=A+B




                                           start
    3. Program Flow Chart

                                          A,B,C



                                           Inpu
                                           t
                                           A,B

                                         C=A+B



                                          Cetak C


                                            Stop
Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I



 Mekanisme Pelaksanaan Algoritma oleh Pemroses.
Dalam pembuatan algoritma ini maka hasil akan didapatkan dengan adanya
prosesan. Pemroses dapat berupa alat-alat elektronik, manusia, robot dan alat-
alat elektronik lainnya.
Pemroses melakukan suatu proses dengan melaksanakan atau mengeksekusi
algoritma yang menjabarkan proses tersebut. Melaksanakan algoritma berarti
mengerjakan langkah-langkah di dalam algoritma tersebut.
Pada algoritma yang akan dipelajari alat peruses yang akan digunakan adalah
komputer.
Pada komputer dapat dibedakan atas 4 unit utama
   - piranti masukan
   - piranti keluaran
   - piranti proses
   - piranti memori

Data pada komputer akan diproses pada piranti proses yang sering dikenal
dengan CPU. Mekanisme dari ke empat piranti di atas dapat digambarkan
sebagai berikut :

      Piranti Masukan                    Unit pemrosesan   Piranti Keluaran
                                          Utama (CPU)



                                            Memori



Mekanisme dari keempat piranti diatas dapat dijelaskan sebagai berikut :
Mula-nula program dimasukkan ke dalam memori komputer. Ketika program
dilaksanakan, setiap instruksi yang telah disimpan didalam memori dikirim ke
CPU. CPU mengerjakan operasi-operasi yang bersesuaian dengan instruksi
tersebut. Bila suatu operasi memerlukan data, data dibaca dari piranti masukan ,
disimpan dalam memori lalu dikirim ke CPU untuk operasi yang memerlikan
tadi.. Bila proses menghasilkan keluaran, keluaran disimpan ke dalam memori,
lalu dari memori keluaran dikirimkan ke piranti keluaran.

Sebuah algoritma akan dapat dikenal oleh komputer jika sudah dipindahkan
kedalam bentuk yang dapat dimengerti oleh komputer, dalam hal ini disebut
dengan program. Ada bermacam-macam bahasa pemrogram yang dikenal
seperti, Basic, Bahasa C, Pascal, Fortran, Visual Basic, Delphi ,dll.




Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I

Pertemuan 2

                   Simbol-Simbol Program Flow Chart

                         Awal dan akhir suatu program

                         Inisialisasi variable ( persiapan awal )

                         Input dan output ( masukan dan keluaran ) program

                         Proses program

                         Percabangan / perulangan

                         Perulangan

                         Connector (tanda sambung untuk halaman sama )

                         Connector ( tanda sambung untuk halaman berbeda )

                         Arah proses

                         Sub program / Procedure ( blok program )



                            Struktur Bahasa Pascal
Judul Program
Blok Program
      Bagian Deklarasi
        -   variable
        -   label
        -   konstanta
        -   type
        -   procedure
        -   function
      Bagian Pernyataan



                             Perintah Input Output


Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I


- Read dan readln                        (perintah input )
- Write dan writeln                      (perintah output)
contoh :
readln(a)  input nilai A
write(A)  cetak nilai A
write(‘A’)  cetak ‘A’

Contoh Soal :

Buat flowchart program dan program Pascal untuk menampilkan hasil perkalian
sebagai berikut :

A=B x C                          Nilai B Dan C Diinputkan
P=Q(R+S) + R(Q+S)                Nilai Q,R,dan S diinputkan




               Deklarasi Variabel, Label, Konstanta

Deklarasi variable dinyatakan dengan statemen Var
Contoh
Var A:integer;


Deklarasi Label dinyatakan dengan statemen Label
Contoh
Label      100

Deklarasi konstanta dinyatakan dengan statemen Const
Contoh
Const a:=100;

Syarat-syarat pemberian nilai variable

    -   harus dimulai dengan huruf
    -   harus merupakan satu kesatuan
    -   Tidak boleh ada symbol-simbol khusus kecuali ‘_’ (garis bawah)
    -   Huruf besar dan kecil dianggap sama
    -   Panjang tidak terbatas


Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I


                    Deklarasi Fungsi dan prosedure

Fungsi dan prosedure merupakan blok program yang terpisah dari
program utama yang mempunyai struktur program hampir sama
dengan program utama. Prosedure dinyatakan dengan statemen
PROCEDURE sedangkan fungsi dinyatakan dengan statemen
FUNCTION
CONTOH PROSEDUR

PROCEDURE SATU;
VAR

BEGIN


END;


CONTOH FUNGSI

FUNCTION AKAR;
BEGIN


END;



                    Tipe Data Pada Program Pascal

Program komputer bekerja dengan memanipulasi data didalam
memori. Data yang dimanipulasi mempunyai beberapa tipe data
seperti :
   - nilai numerik
   - karakter
   - string
   - rekaman (record)

Tipe data dapat dikelompokkan dalam dua kelompok yaitu :
  - Tipe Dasar (nilainya bias langsung dipakai)
  - Tipe Bentukan (tipe data yang didefeisikan dari tipe dasar)


    1. Tipe Dasar
    Yang termasuk tipe dasar adalah :
    - karakter
    - bilangan
Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I


    - logika

    - Tipe bilangan ada beberapa macam
          a. Bilangan bulat
          - Shortint        -128 s/d +127
          - Byte            0 s/d 255
          - Integer         -32768 s/d +32767
          - Longint         -2147483648 s/d +2147483648
          - Word            0 s/d 65535

            b. Bilangan pecahan
            - Real       2.9 X 10 –39     s/d   1,7 X 10 38
            - Single     1.5 X 10 –45     s/d   3,4 X 10 38
            - Double     5.0 X 10 –324    s/d   1,7 X 10 308
            - Extend     3.4 X 10 –4932   s/d   1,1 X 10 4932

    - Tipe data Karakter
    Yang termasuk kedalam tipe data karakter adalah : huruf-huruf
    alfabet, tanda baca, angka ‘0’,’1’,….’9’ dan karakter khusus
    ‘&’,’^’,……..

    - Logika
    Tipe data ini mempunyai nilai Benar dan Salah


    2. Tipe Bentukan

    Tipe bentukan adalah tipe data yang didefenisikan sendiri oleh
    pemrogram.

    Ada 3 tipe data bentukan
    1. String
    2. Tipe data dasar yang diberi nama dengan nama tipe baru.
    3. Rekaman (record)

    1. String
    Adalah deretan karakter dengan panjang tertentu
    Contoh : a:string[15]

    2. Tipe data dasar yang diberi nama baru
    Contoh : Type BilBulat : Integer:

    3. Rekaman
Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I


    Contoh : Type mahasiswa=record
                 Nbp :string[13];
                 Nm :string[25];
             End;
    Pertemuan 3


                             Operator Pada Program
    1. Operator Aritmatika
    Yaitu symbol yang digunakan untuk proses perhitungan

            +, - , * , / , div , mod

    - operator ‘/’ digunakan untuk pembagian dengan hasil adalah
      bilangan pecahan
    - operator div digunakan untuk pembagian dengan hasil adalah
      bilagan bulat
    - mod adalah operator yang digunakan untuk mencari sisa hasil
      bagi

    Pada proses aritmatik adakalanya ada beberapa operator ditemui
    pada satu ekspresi.
    Contoh : Z=A+B*C
    Pada contoh diatas ada 2 operator yang ditemui yaitu + dan *. Jika
    hal ini terjadi maka yang akan diproses terlebih dahulu adalah
    operator dengan prioritas tertinggi.
    Berikut prioritas pengerjaan dari masing-masing operator.
    1. * , /, mod , div
    2. + dan –

  2. Operator Relasional
     Adalah < , > , >= , <= , not , and , or . Hasil dari operator ini
adalah benar atau salah.

    Contoh-contoh soal:




    Perrtemuan 4 (pratikum)


Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I


                                         Runtunan
    Merupakan urutan proses program yang terurut tanpa adanya proses
    percabangan.
    Contoh untuk proses runtunan ini juga bisa dilihat pada pertukaran
    isi bejana pada pertemuan 1

    Contoh : buat algoritma dan program untuk menghitung hasil
             formula berikut

    Nilai x bisa didapatkan dari hasil perkalian p dan q. dimana nilai p
    didapatkan dari formula berikut :
    P=3a+b *c
    Sedangkan nilai q didapat kan dari formula q=4b*c+d
    Tentukan terlebih dahulu data apa yang perlu diinputkan dan
    urutkan proses yang harus dikerjakan.

    Algoritma :……….
    Program pascal ………




    Pertemuan 5 dan 6


Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I


                               Struktur Percabangan
Yaitu pemilihan suatu instruksi yang akan dikerjakan sesuai dengan
kondisi / syarat tertentu

  a.            IF…………THEN

    Digunakan jika pada pemilihan hanya ada satu aksi yang akan
    dilakukan jika kondisi tertentu terpenuhi dan tidak ada aksi yang
    lain yang akan dikerjakan jika kondisi tidak terpenuhi.

    Contoh :jika nilai rata besar dari 3 maka ket ‘dapat bonus’ jika
    tidak tidak dapat apa-apa.
    Flow chart :                          Program :

                                           Write(‘nilai rata-rata : ‘);
                Input Nil_rata             Readln(nil_rata);
                                           If nil_rata > 3 then
                                           Begin
               Nil_rata                        Ket:=’Dapat Bonus’
               >3                          End;
           Ket=’Dapat Bonus’




  b. IF………THEN…….ELSE………
   Digunakan jika pada pemilihan ada dua aksi yang akan dilakukan

Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I



    Contoh : jika nilai besar dari 60 maka keterangan lulus jika tidak
    keterangan gagal

    Flowchart :                                Program :

             Input nilai



             Nilai>60

                                         Ket=’Gagal
                                         ’
          Ket=’Lulus’




 Write(‘Inputkan nilai: ‘);Readln(nilai);
 If nilai > 60 then
 Begin
     Ket:=’Lulus’
 End
 Else
 Begin
     Ket:=’Gagal’
 End;




            c. IF……THEN……ELSEIF…….THEN……ELSE

Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I


            Digunakan jika pada pemilihan ada beberapa aksi yang akan
            dilakukan berdasarkan beberapa syarat yang harus terpenuhi.
            Contoh :
            Tentukan apakah wujud air dalam keadaan cair, padat, atau
            gas.

            Flowchart :

            Input Suhu



            Suhu
            <=0
                                         Suhu
                                         >=100
         Ket=’Padat’
                                                     Ket=’Cair’
                                          Ket=’Gas




 Write(‘Inputkan Suhu: ‘);Readln(suhu);
 If suhu <= 0 then
 Begin
     Ket:=’Padat’
 End
 Else if suhu >= 100 then
 Begin
     Ket:=’Gas’
 End
 Else
 Begin
    Ket:=’Cair’
 End;




            Tentukan apakah suatu bilangan negatif, positif, atau nol


Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I


            Flowchart :                                  program:



             Input Bil


                                         false
             Bil<0
                                                            false
            true                                Bil>0
          Ket=’Negatif
                                         true               Ket=’Nol’
          ’
                                          Ket=’Positif
                                          ’




 Write(‘Inputkan Bil: ‘);Readln(bil);
 If bil < 0 then
 Begin
     Ket:=’Negatif’
 End
 Else if bil > 0 then
 Begin
     Ket:=’Positif’
 End
 Else
 Begin
    Ket:=’Bil. Nol’
 End;




            d. Struktur Case


Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I


            Struktur case adalah cara lain yang bisa digunakan untuk
            memilih suatu kondisi tertentu.
            Syntax:
            Case (var)
            Var = …..: hasil =…..
            Var = …...: hasil =…..
            ….
            ….
            Endcase




    Pertemuan 7,8
Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I


                                    PENGULANGAN
    - While……..do
    - Repeat…….until
    - For …..to……do

      1. While ..... Do
          Perulangan dengan while ..do digunakan selama kondisi
          (syarat) yang ada pada perulangan benar (terpenuhi)

            Contoh :Mencetak ‘Halo’ sebanyak 10 kali

                                          K:=1
                                          While k< 10 do
                             K=1
                                          begin
                                                write (‘Halo’);
                         While                  k:=k+1;
                         k<10 do          end;
                       Write ‘Halo’


                        K=k+1



Keterangan :
Perintah write ‘halo’ akan dilaksanakan selama nilai k<= 1, dimana di
dalam setiap perulangan nilai k akan bertambah nialainya 1 (satu)
sehingga perintah write akan dilakukan sebanyak 10 kali

    2. Repeat ........ Until

    Perulangan dengan repeat until digunakan selama kondisi belum
    terpenuhi




                               K=1

                             Repeat


                         Write ‘Halo’

    Contoh : mencetak ‘Halo’ sebanyak 10 kali
                         K=k+1
Team Dosen Algoritma dan Struktur Data


                           Until
Algoritma dan Struktur Data I


                                         K:=1
                                         Repeat
                                               write (‘Halo’);
                                               k:=k+1;
                                         Until k>10;




    Keterangan :
    Write (‘halo’) akan dilakukan selama nilai K tidak besar dari 10.
    Pada struktur repeat until instruksi yang ada anatara repeat dan until
    minimal satu kali proses akan dilakukann karena nilai / syarat dari
    perulangan terletak di akhir struktur.

    3. For ....to... do

    Perulangan dengan struktur for akan dilakukan sesuai dengan
    jumlah perulangan yang ditetapkan pada struktur for.
    Contoh : menampilkan ‘halo’ sebanyak 10 kali

                                         K:=1
                                         Repeat
                                               write (‘Halo’);
                 For k=1 to 10
                 do                            k:=k+1;
                                         Until k>10;
                   Write(‘halo’
                   )




    Keterangan :
    Write(‘halo’) akan dilaksanakan sebanyak 10 kali sesuai dengan
    jumlah perulangan yang udah ditetapkan pada struktur For yaitu 1
    s/d 10. pada struktur perulangan ini nilai K akan bertambah 1
    secara otomatis begitu perintah sampai pada khir perulangan.

    Erulangan dengan struktur for dapat dibagi menjadi 2 bagian

Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I


    1. For menaik
    2. For menurun

    1. For menaik
    - peubah haruslah bertipe sederhana kecuali tipe real
    - nilai awal harus lebih kecil atau sama dengan nilai akhir
    - pada awalnya peubah diinisialisasi dengan nilai awal. Nilai
       peubah otomatis bertambah satu setiap kali aksi pengulangan
       dimasuki, sampai akhirnya nilai peubah sama dengan nilai akhir
    - jumlah pengulangan yang terjadi adalah nilai akhir – nilai awal
       +1

    2. For menurun
    - peubah haruslah bertipe sederhana kecuali tipe real
    - nilai awal harus lebih besar atau sama dengan nilai akhir
    - pada awalnya peubah diinisialisasi dengan nilai awal. Nilai
       peubah otomatis berkurang satu setiap kali aksi pengulangan
       dimasuki, sampai akhirnya nilai peubah sama dengan nilai akhir
    - jumlah pengulangan yang terjadi adalah nilai awal – nilai akhir
       +1


    Contoh-contoh Kasus




    Pertemuan 10
                      Loop Dalam Loop ( Nested Loop)
Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I



    Pada proses perulangan sangat dimungkinkan adanya terjadi proses
    perulangan didalam perulangan yang lain, proses ini dikenal
    dengan istilah Nested Loop

      1. Nested Loop pada For ....... to ........ Do
         Syntax : For....to.....do
                   Instruksi
                   For....to....do
                          Instruksi...
                   end
                 end

Keterangan :
Pada perulangan seperti ini proses perulangan yang akan diselesaikan
terlebih dahulu adalah perulangan yang terletak pada bagian dalam.

Contoh : inputkan data buku maksimal 5 Judul buku dimana masing-
masing buku memiliki pengarang maksimal ada 4 pengarang. Berikut
data lengkap yang harus diinputkan :

Kode Buku      :
Judul Buku     :
     Pengarang :
     Tahun Terbit               :

                                         For i:=1 to 5 do
               For i :=1 to 5            Begin
                                            Write (‘Kode Buku :’);
                                            readln(kdb);
              Input kdb,jdl
                                            Write (‘Judul Buku :’);
                                            readln(jdl);
               For k :=1 to 4               For k:=1 to 4 do
                                            Begin
                Input pg,th
                                               Write (‘Pengarang     :’);
                                               readln(pg);
                                               Write (‘Tahun Terbit :’);
                                               readln(th);
                                             End;
                                         End;
Keterangan :


Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I


Pada program diatas proses perulangan pada i akan dilaksanakan
terlebih dahulu untuk i=1, berikut proses perulangan akan berada pada
k dimana perulangan akan dilaksanakan mulai dari k=1 sampai nilai
k=4. Begitu nilai k=5 proses akan keluar dari perulangan k dan akan
kembali ke perulangan i dengan nilai I akan langsung bertambah satu
sehingga menjadi 2.
Perulangan akan dilanjutkan kembali ke perulangan K mulai dari nilai
k=1 lagi sampai nilai sama dengan 4. Begitu seterusnya sampai nilai I
sama dengan 5. Begitu nilai I=6 maka proses akan keluar dari
perulangan secara keseluruhan

2. Nesterd Loop Pada While ......Do
    Pada prinsip kerjanya nested loop while ...do sama dengan
    for..to..do dimana proses perulangan yang akan diselesaikan
    terlebih dahulu adalah perulangan yang terletak bagian dalam

        Syntax :
        While.........do
             Instruksi
             While .....do
                     Instruksi
             End
        End

     Selesaikan contoh pada for ...to...do dengan menggunakan
while....do




Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I


                   I:=1
                                         I:=1;
                                         While I<=5 do
                                         Begin
               While I<=5 do                Write (‘Kode Buku :’);
                                            readln(kdb);
                Input kdb,jdl               Write (‘Judul Buku :’);
                                            readln(jdl);
                                            K:=1;
                    K:=1                    While k<=1 to 4 do
                                            Begin
                                               Write (‘Pengarang     :’);
               While K<=4
               do                              readln(pg);
                                               Write (‘Tahun Terbit :’);
                 Input pg,th
                                               readln(th);
                                               K:=K+1;
                   K:=K+1                    End;
                                            I:+I+1;
                                         End;

                    I=I+1




3. Nested Loop Pada Repeat ..........Until

Proses nested repeat until hampir sama dengan proses yang ada pada
nested for dan nested whie. Tetapi disini masing-masing perulangan
pada repeat ...until satu kali proses pasti akan dilakukan sesuai
dengan keterangan yang ada pada perulangan dengan repeat until.

Contoh :
Selesaikan kasus pada nested loop sebelumnya dengan menggunakan
Repeat until.




Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I


                   I:=1                  I:=1;
                                         Repeat
                 Repeat
                                            Write (‘Kode Buku :’);
                                            readln(kdb);
                                            Write (‘Judul Buku :’);
                Input kdb,jdl               readln(jdl);
                                            K:=1;
                    K:=1                    Repeat
                                               Write (‘Pengarang     :’);
                                               readln(pg);
                     Repeat                    Write (‘Tahun Terbit :’);
                                               readln(th);
                 Input pg,th                   K:=K+1;
                                             Until K>4;
                                            I:+I+1;
                   K:=K+1
                                         Until I>5;

               Until K>4 do



                   I:=I+1



                 While I<=5 do




Pertemuan 11, 12


Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I


                                         Procedure
Pengertian Procedure :
Adalah merupakan blok program yang terpisah dari program utama
dengan struktur program hampir sama dengan struktur program utama

Struktur Procedure
                Judul Procedure
                Bagian Deklarasi
                     Variabel
                     Label
                     Constanta
                     Type
                Badan Procedure
                Begin
                     instruksi
                End;

Procedure sendiri harus dibuat sebelum program utama sesuai dengan
struktur program.
Setiap procedure dibatasi dengan end yang menggunakan tanda titik
koma. Procedure biasanya ditemukan pada program untuk skala yang
besar, sehingga dalam pembuatan program untuk lebih mudah dalam
mendisainnya dibentuk dalam modul-modul program yang dikenal
dengan Procedure. Namun demikian bukan berarti procedure tidak
bisa diterapkan untuk program dengan skala yang lebih kecil.
Prosedur dideklarasikan dengan menggunakan Statemen Procedure.
Setiap procedure selalu diakhiri dengan menggunakan tanad titik
koma pada end yang terakhir.

Contoh pendeklarasian prosedur :
Procedure Satu;
Begin
           Write (‘ini adalah prosedur yang pertama’);
           Repeat until keypressed;
End;
{Program Utama}
Begin
     Satu;
     Write (‘Prosedur pertama selesai’);
     Repeat untuil keypressed;
End.


Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I


Pada contoh diatas pada saat program dijalankan maka program utama
akan dieksekusi terlebih dahulu. Pada saat proses eksekusi ditemukan
perintah satu yang dikenal sebagai nama sebuah prosedur. Nama ini
dikenal pada saat compiler mengkompilasi program maka satu dicatat
sebagai nama sebuah prosedur . Jadi begitu ditemukan satu maka
compiler akan mencari kelisting program prosedur dengan nama satu.
Setelah ditemukan maka akan diproses. Setelah proses pada prosedur
selesai maka proses program akan kembali pada program utama.

Contoh :kasus
Buat program dengan menggunakan prosedur untuk menampilkan
output berikut :

Algoritma adalah dasar untuk pembuatan program
Algoritma dapat digambarkan dengan Flow Chart Program
Pascal adalah salah satu bahasa untuk mengantarkan algoritma

Ketentuan proses :
Kalimat pertama dibuat pada prosedur dengan nama Algoritma
Kalimat kedua dibuat pada prosedur dengan nama Flow_Chart
Kalimat ketiga dibuat pada prosedur dengan nama Pascal


             Pendeklarasian Parameter Pada Procedure

Variabel pada program Pascal lebih dikenal dengan nama parameter.
Parameter dapat berupa parameter lokal dan dapat berupa parameter
global.
Parameter lokal adalah parameter yang hanya bisa digunakan untuk
proses pada prosedur yang bersangkuta
Parameter global adalah parameter yang dapat digunakan untuk
semua blok program yang ada sesudahnya dan pada prosedur yang
bersangkutan.

Contoh pendeklarasian parameter pada prosedur.




Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I


Procedure Satu;
Var A : integer;
Begin
End;

Var X:longint;

Procedure Dua;
Var B:integer;
Begin
End;

Var P,Q : Longint;
Begin
.......
.......
End.

Keterangan :
Var A dan Var B adalah variabel lokal pada prosedur satu dan dua.
Var A hanya bisa digunakan untuk proses yang ada pada prosedur satu
sedangkan Var B hanya dapat digunakan untuk proses pada prosedur
dua.
Var X adalah variabel yang bersifat global untuk prosedur dua dan
program utama. Jadi var X dapat digunakan untuk proses baik pada
prosedur dua maupun pada program utama, tetapi tidak bisa
digunakan untuk proses pada prosedur satu.
Var P,Q adalah var yang hanya dapat digunakan pada program utama
saja.

Contoh kasus
Buat program untuk menghitung luas suatu bangun dengan output
sebagai berikut.

                                Program Menghitung Luas Bangun
                                Bujur Sangkar dan Segitiga Siku-Siku

                                1. Luas Bujur Sangkar
                                2. Luas Segitiga Siku-Siku
                                3. Selesai

                                Input Pilihan [1-2] :..


Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I



              Mencari Luas Bujur Sangkar
        Input Panjang Sisi             :.....
        Luas Bujur Sangkar Adalah      :......

        Tekan Enter Untuk Melanjutkan


              Mencari Luas Segitiga Siku-Siku
        Input Panjang Alas              :.....
        Input Tinggi Segitiga           :.....
        Luas Segitiga Adalah            :......

        Tekan Enter Untuk Melanjutkan


                 Start


             Pil, Luas

          Cetak Output
          Program Utama

             Input pil


                pil=1

                                          pil=2
          Bujur_sangkar

                                         Siku-Siku




                                                     Stop


Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I




                             Bujur_Sangka
                             r

                                     Sisi

                              Cetak Output Prosedur
                              Bujur Sangkar

                                 Input sisi

                            Luas = sisi * sisi


                               Cetak Luas


                                  Return



                                 Siku_Siku


                                Alas,tinggi

                              Cetak Output Prosedur
                              Segitiga Siku-Siku

                          Input alas,
                          tinggi
                            Luas = ½ * alas * tinggi


                               Cetak Luas


                                  Return

Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I


{Program Pascal}
Var Pil : integer ;
     Luas : real;

Procedure bujur_sangkar;
Var sisi:integer;
Begin
     Clrscr;
     Gotoxy (...,...) ; write (‘Mencari Luas Bujur Sangkar’);
     Gotoxy (...,..) ; write (‘Input Panjang Sisi : ‘);
     Gotoxy (...,...) ; write (‘ Luas Bujur Sangkar Adalah :’);
     Gotoxy (...,... ) ; readln (sisi);
     Luas := sisi * sisi ;
     Gotoxy (..,...) ; write (luas:6:1);
     Repeat until keypressed;
End;

Procedure siku_siku;
Var alas,tinggi:integer;
Begin
     Clrscr;
     Gotoxy (...,...) ; write (‘Mencari Luas Segi Tiga Siku-Siku’);
     Gotoxy (...,..) ; write (‘Input Panjang Alas          : ‘);
     Gotoxy (...,..) ; write (‘Input Tinggi Segi Tiga      : ‘);
     Gotoxy (...,...) ; write (‘ Luas Segi Tiga Adalah :’);
     Gotoxy (...,... ) ; readln (alas);
     Gotoxy (...,... ) ; readln (tinggi);
     Luas := 0.5 * alas * tinggi ;
     Gotoxy (..,...) ; write (luas:6:1);
     Repeat until keypressed;
End;
Begin
     Clrscr;
     Gotoxy (...,...); write (‘Program Menghitung Luas Bangun’);
     Gotoxy (...,...); write (‘Bujur Sangkar dan Segitiga Siku-Siku’);
     Gotoxy (...,...); write (‘Luas Bujur Sangkar’);
     Gotoxy (...,...); write (‘Luas Segitiga Siku-Siku’);
     Gotoxy (...,...); write (‘Selesai’);
     Gotoxy (...,...); write (‘Input Pilihan [1-2] :..’);
     Gotoxy (...,...);readln(pil);
     If pil=1 then
            Bujur_sangkar
     Else if pil=2 then
Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I


                Siku_siku;
                Repeat until keypressed;
End.

Keterangan program

Pada program di atas var pil dan luas adalah bersifat global untuk
semua blok program.
Var sisi bersifat lokal untuk prosedur bujur sangkar
Var alas,tinggi bersifat lokal untuk siku-siku.


Kasus :
Buatlah program untuk menghitung Nilai Faktorial dan Pangkat
dengan output sebagai berikut :

                               Program Menghitung Nilai
                                 Faktorial dan Pangkat

                                         1. Faktorial
                                         2. Pangkat
                                         3. Selesai

                                Input Pilihan [1-3] :..


                            Menghitung Faktorial

                            Input Bilangan Yang Dicari    :...
                            Nilai Faktorialnya Adalah     :.....

                            Tekan Untuk Melanjutkan

                            Menghitung Pangkat

                            Input Bilangan Yang Dicari             :...
                            Input Jumlah angkat Yang Diinginkan    :.....
                            ..... Pangkat..... adalah ........

                            Tekan Enter Untuk Melanjutkan




Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I

Pertemuan 13,14

              Pengiriman Nilai Parameter Pada Procedure
Pada sebuah program dimungkinkan adanya pengiriman nilai
parameter dari satu prosedur ke prosedur yang lain
Pengiriman nilai parameter ini dapat berupa pengiriman secara nilai
dan secara acuan.

Contoh :
Buat flow chart dan program berikut dengan ketentuan dan output
sebagai berikut :

Menghitung Luas permukaan sebuah balok dengan panjang sisi-sisi
balok adalah
- panjang 10 cm
- lebar 5 cm
- tinggi balok 100 cm

Buat program dengan menggunakan prosedur persegi panjang dengan
panjang sisi balok diinputkan melalui program.

Output
                          Menghitung Luas Permukaan Balok

                          Input Panjang Alas     :….
                          Input Lebar Alas       :….
                          Input Tinggi Balok     :…

                          Luas Permukaan Balok Adalah :…



                  Sisi2


     Sisi1                               Sisi3




Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I



                                           start


                                   pj,lb,tg,ls,sisi1,si
                                        si2,sisi3



                                   Cetak Output

                                   Input pj,lb,tg

                          Persegi_Panjang
                          (pj,tg,ls)
                                         Sisi1:=ls

                          Persegi_Panjang
                          (lb,tg,ls)
                                         Sisi2:=ls

                          Persegi_Panjang (lb,pj,ls)

                                    Sisi3:=ls

                     Lper := 2*sisi1+2*sisi2+2*sisi3

                                    Cetak LPer



                                           Stop




Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I


     Procedure persegi_panjang (panjang,lebar : integer ; var luas:integer );
Begin
      Luas := panjang * lebar;
End;

{program utama}

var
        pj,lb,tg,ls,sisi1,sisi2,sisi3 :integer;
Begin
        Clrscr;
        Gotoxy (…,…) ; write (‘Menghitung Luas Permukaan Balok’);
        Gotoxy (…,… ) ; write (‘Input Panjang Alas :…’);
        Gotoxy (…,… ) ; write (‘Input Lebar Alas :…’);
        Gotoxy (…,… ) ; write (‘Input Tinggi Balok :…’);
        Gotoxy (…,… ) ; write (‘Luas Permukaan Balok Adalah :…..’);
        Gotoxy (…,… ) ; readln ( pj );
        Gotoxy (…,… ) ; readln ( lb );
        Gotoxy (…,… ) ; readln ( tg );
        Persegipanjang(pj,tg,ls);
        Sisi1:=ls;
        Persegipanjang(lb,tg,ls);
        Sisi2 :=ls;
        Persegipanjang(pj,lb,ls);
        Sisi3:=ls;
        Lper := 2*sisi1+2*sisi2+2*sisi3
        Gotoxy (…,…) ; write (lper);
        Repeat until keypressed;
End.

                                         Keterangan :
Pada program diatas luas permukaan balok merupakan luas semua sisi
balok. Dimana balok terdiri dari 6 sisi seperti terlihat pada gambar
diatas.
Semua permukaan balok merupakan persegipanjang, sehingga kita
dapat hanya menggunakan prosedur persegi panjang.
Pada prosedur persegi panjang ada 2 cara pengiriman data yaitu secara
nilai dan secara acuan. Pengiriman secara nilai ditandai dengan
penggunaa kata VAR
Pengiriman secara nilai adalah : bahwa hasil yang didapatkan pada prosedur tidak akan
mempengaruhi nilai yang ada pada modul yang mengirim (dalam hal ini adalah program
utama). Sehingga perubahan nilai variabel panjang pada prosedur tidak akan mempengaruhi
nilai var PJ pada program utama.

Pengiriman secara Acuan adalah : bahwa hasil yang didapatkan pada prosedur akan
mempengaruhi nilai yang ada pada modul yang mengirim. Sehingga perubahan niali var Luas
pada prosedur akan mempengaruhi nilai var LS pada program utama.



Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I

Pengiriman secara nilai begitu proses pada program yang dipanggil sudah selesai maka nilai
variabel yang dikirim akan dikembalikan ke modul yang memanggil.

Kasus
Buat flowchart dan program pascal untuk menghitung formula berikut
:
  1. Z=2^5 + 5!
  2. Z=X! + Y + X^Y

Gunakan prosedur pangkat dan faktorial untuk menyelesaikan kasus
diatas. Tampilan dari hasil program dirancang sendiri.




Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I

FUNGSI


Fungsi hampir sama dengan prosedur yaitu merupakan bagian
program yang terpisah dari program utama.
Perbedaan fungsi dengan prosedur adalah bahwa nilai suatu fungsi
terletak pada nama fungsi itu sendiri sedangkan pada prosedur nilai
prosedur terletak pada variabel.

Sebuah prosedur dapat saja dijadikan fungsi. Kasus diatas dijadikan
sebuah fungsi dengan tipe integer.

Buat program dengan menggunakan fungsi persegi panjang dengan
panjang sisi balok diinputkan melalui program.

Output
                          Menghitung Luas Permukaan Balok

                          Input Panjang Alas     :….
                          Input Lebar Alas       :….
                          Input Tinggi Balok     :…

                          Luas Permukaan Balok Adalah :…


                  Sisi2


     Sisi1                               Sisi3




Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I




                                          start


                                   pj,lb,tg,ls,sisi1,si
                                        si2,sisi3



                                   Cetak Output

                                   Input pj,lb,tg

                          Sisi1= Persegi_Panjang (pj,tg)


                          Sisi2= Persegi_Panjang (lb,tg)

                          Sisi3= Persegi_Panjang (lb,pj)


                     Lper := 2*sisi1+2*sisi2+2*sisi3

                                    Cetak LPer


                                         Stop




          Function persegi_panjang (panjang,lebar : integer):integer;
                             Var luas : integer;
Team Dosen Algoritma dan Struktur Data
Algoritma dan Struktur Data I


Begin
        Luas := panjang * lebar;
        Persegi_panjang :=luas;
End;

{program utama}

var
        pj,lb,tg,ls,sisi1,sisi2,sisi3 :integer;
Begin
        Clrscr;
        Gotoxy (…,…) ; write (‘Menghitung Luas Permukaan Balok’);
        Gotoxy (…,… ) ; write (‘Input Panjang Alas :…’);
        Gotoxy (…,… ) ; write (‘Input Lebar Alas :…’);
        Gotoxy (…,… ) ; write (‘Input Tinggi Balok :…’);
        Gotoxy (…,… ) ; write (‘Luas Permukaan Balok Adalah :…..’);
        Gotoxy (…,… ) ; readln ( pj );
        Gotoxy (…,… ) ; readln ( lb );
        Gotoxy (…,… ) ; readln ( tg );
        Sisi1:=Persegipanjang(pj,tg);
        Sisi2:=Persegipanjang(lb,tg);
        Sisi3:=Persegipanjang(pj,lb,;
        Lper := 2*sisi1+2*sisi2+2*sisi3
        Gotoxy (…,…) ; write (lper);
        Repeat until keypressed;
End.




Team Dosen Algoritma dan Struktur Data

Weitere ähnliche Inhalte

Was ist angesagt?

Pemrograman berorientasi objek lanjutan
Pemrograman berorientasi objek lanjutanPemrograman berorientasi objek lanjutan
Pemrograman berorientasi objek lanjutanTriani Valentina
 
Pengantar Pemrograman Berorientasi Objek
Pengantar Pemrograman Berorientasi ObjekPengantar Pemrograman Berorientasi Objek
Pengantar Pemrograman Berorientasi Objekwawanext01
 
Object Oriented Programming (OOP) With Java Programming
Object Oriented Programming (OOP) With Java ProgrammingObject Oriented Programming (OOP) With Java Programming
Object Oriented Programming (OOP) With Java Programmingeddie Ismantoe
 
Pertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objekPertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objekI Putu Arya Dharmaadi
 
Modul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objekModul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objekimam arifin
 
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented ProgrammingJava (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented ProgrammingMelina Krisnawati
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3Laporan PBO Pratikum 3
Laporan PBO Pratikum 3rahmi wahyuni
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Debby Ummul
 
Modul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekModul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekWahyu Widodo
 
Modul xi dan xii algo
Modul xi dan xii algoModul xi dan xii algo
Modul xi dan xii algoSTMIK AKAKOM
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2rahmi wahyuni
 
4 abstract class, interface
4 abstract class, interface4 abstract class, interface
4 abstract class, interfaceRobbie AkaChopa
 
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan hermawanawang
 
Pemograman berorientasi objek
Pemograman berorientasi objekPemograman berorientasi objek
Pemograman berorientasi objekNamira Namirah
 
[PBO] Pertemuan 1 (praktik) - Pengenalan java
[PBO] Pertemuan 1 (praktik) - Pengenalan java[PBO] Pertemuan 1 (praktik) - Pengenalan java
[PBO] Pertemuan 1 (praktik) - Pengenalan javarizki adam kurniawan
 
Algoritma dan Struktur Data - pengenalan bahasa c++
Algoritma dan Struktur Data - pengenalan bahasa c++Algoritma dan Struktur Data - pengenalan bahasa c++
Algoritma dan Struktur Data - pengenalan bahasa c++Georgius Rinaldo
 

Was ist angesagt? (20)

Pemrograman berorientasi objek lanjutan
Pemrograman berorientasi objek lanjutanPemrograman berorientasi objek lanjutan
Pemrograman berorientasi objek lanjutan
 
Pengantar Pemrograman Berorientasi Objek
Pengantar Pemrograman Berorientasi ObjekPengantar Pemrograman Berorientasi Objek
Pengantar Pemrograman Berorientasi Objek
 
Object Oriented Programming (OOP) With Java Programming
Object Oriented Programming (OOP) With Java ProgrammingObject Oriented Programming (OOP) With Java Programming
Object Oriented Programming (OOP) With Java Programming
 
Modul praktikum PBO
Modul praktikum PBOModul praktikum PBO
Modul praktikum PBO
 
Pertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objekPertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objek
 
Modul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objekModul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objek
 
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented ProgrammingJava (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3Laporan PBO Pratikum 3
Laporan PBO Pratikum 3
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
 
Modul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekModul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi Objek
 
Modul xi dan xii algo
Modul xi dan xii algoModul xi dan xii algo
Modul xi dan xii algo
 
Laporan PBO pratikum 2
Laporan PBO pratikum 2Laporan PBO pratikum 2
Laporan PBO pratikum 2
 
Laporan PBO Modul 4
Laporan PBO Modul 4Laporan PBO Modul 4
Laporan PBO Modul 4
 
Laporan i
Laporan iLaporan i
Laporan i
 
4 abstract class, interface
4 abstract class, interface4 abstract class, interface
4 abstract class, interface
 
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
 
Pemograman berorientasi objek
Pemograman berorientasi objekPemograman berorientasi objek
Pemograman berorientasi objek
 
TD-635-01-PSBO
TD-635-01-PSBOTD-635-01-PSBO
TD-635-01-PSBO
 
[PBO] Pertemuan 1 (praktik) - Pengenalan java
[PBO] Pertemuan 1 (praktik) - Pengenalan java[PBO] Pertemuan 1 (praktik) - Pengenalan java
[PBO] Pertemuan 1 (praktik) - Pengenalan java
 
Algoritma dan Struktur Data - pengenalan bahasa c++
Algoritma dan Struktur Data - pengenalan bahasa c++Algoritma dan Struktur Data - pengenalan bahasa c++
Algoritma dan Struktur Data - pengenalan bahasa c++
 

Andere mochten auch

Algoritma dan Struktur Data - Input/Output dan State
Algoritma dan Struktur Data - Input/Output dan StateAlgoritma dan Struktur Data - Input/Output dan State
Algoritma dan Struktur Data - Input/Output dan StateKuliahKita
 
Struktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked listStruktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked listSunarya Marwah
 
Program queue dengan single linked list
Program queue dengan single linked listProgram queue dengan single linked list
Program queue dengan single linked listRhe Dwi Yuni
 
Linked List dalam Struktur Data
Linked List dalam Struktur DataLinked List dalam Struktur Data
Linked List dalam Struktur DataFajar Sany
 
Implementasi queue
Implementasi queueImplementasi queue
Implementasi queueRhe Dwi Yuni
 
Algoritma dan flowchart
Algoritma dan flowchartAlgoritma dan flowchart
Algoritma dan flowchartNilma Inel
 
Pemrograman c-wakuadratn
Pemrograman c-wakuadratnPemrograman c-wakuadratn
Pemrograman c-wakuadratnLanoy Jr.
 
Aplikasi Pendataan stok barang pada toko pakaian berbasis java dekstop
Aplikasi Pendataan stok barang pada toko pakaian berbasis java dekstopAplikasi Pendataan stok barang pada toko pakaian berbasis java dekstop
Aplikasi Pendataan stok barang pada toko pakaian berbasis java dekstoptiaraberlian
 
Hand Out Pembinaan Olimpiade Matematika SMA
Hand Out Pembinaan Olimpiade Matematika SMAHand Out Pembinaan Olimpiade Matematika SMA
Hand Out Pembinaan Olimpiade Matematika SMAputeriaprilianti
 
Alur Pelayanan di Rumah Sakit
Alur Pelayanan di Rumah SakitAlur Pelayanan di Rumah Sakit
Alur Pelayanan di Rumah SakitHasan Rahim
 

Andere mochten auch (14)

Algoritma dan Struktur Data - Input/Output dan State
Algoritma dan Struktur Data - Input/Output dan StateAlgoritma dan Struktur Data - Input/Output dan State
Algoritma dan Struktur Data - Input/Output dan State
 
Struktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked listStruktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked list
 
Program queue dengan single linked list
Program queue dengan single linked listProgram queue dengan single linked list
Program queue dengan single linked list
 
Contoh soal uts struktur data
Contoh soal uts struktur dataContoh soal uts struktur data
Contoh soal uts struktur data
 
Linked list
Linked listLinked list
Linked list
 
Linked List dalam Struktur Data
Linked List dalam Struktur DataLinked List dalam Struktur Data
Linked List dalam Struktur Data
 
Implementasi queue
Implementasi queueImplementasi queue
Implementasi queue
 
Algoritma dan flowchart
Algoritma dan flowchartAlgoritma dan flowchart
Algoritma dan flowchart
 
Pemrograman c-wakuadratn
Pemrograman c-wakuadratnPemrograman c-wakuadratn
Pemrograman c-wakuadratn
 
modul algoritma Bab 1
modul algoritma Bab 1modul algoritma Bab 1
modul algoritma Bab 1
 
Jawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihanJawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihan
 
Aplikasi Pendataan stok barang pada toko pakaian berbasis java dekstop
Aplikasi Pendataan stok barang pada toko pakaian berbasis java dekstopAplikasi Pendataan stok barang pada toko pakaian berbasis java dekstop
Aplikasi Pendataan stok barang pada toko pakaian berbasis java dekstop
 
Hand Out Pembinaan Olimpiade Matematika SMA
Hand Out Pembinaan Olimpiade Matematika SMAHand Out Pembinaan Olimpiade Matematika SMA
Hand Out Pembinaan Olimpiade Matematika SMA
 
Alur Pelayanan di Rumah Sakit
Alur Pelayanan di Rumah SakitAlur Pelayanan di Rumah Sakit
Alur Pelayanan di Rumah Sakit
 

Ähnlich wie Modul algoritma dan struktur data i

Pengertian algoritma
Pengertian algoritmaPengertian algoritma
Pengertian algoritmakoboibdg
 
Logika pemrograman hand out
Logika pemrograman hand outLogika pemrograman hand out
Logika pemrograman hand outgivaro igfar
 
Algoritma dan Pemrograman
Algoritma dan PemrogramanAlgoritma dan Pemrograman
Algoritma dan PemrogramanDiana Anggraini
 
dokumen.tips_materi-ii-pengertian-algoritma-dan-flowchart-563fd02001d95.ppt
dokumen.tips_materi-ii-pengertian-algoritma-dan-flowchart-563fd02001d95.pptdokumen.tips_materi-ii-pengertian-algoritma-dan-flowchart-563fd02001d95.ppt
dokumen.tips_materi-ii-pengertian-algoritma-dan-flowchart-563fd02001d95.pptRohibBurhani
 
Pemrograman terstruktur
Pemrograman terstrukturPemrograman terstruktur
Pemrograman terstrukturMeiland Meebo
 
Algoritma pertemuan 1
Algoritma pertemuan 1Algoritma pertemuan 1
Algoritma pertemuan 1ysvcyber
 
Materi simkomdig-pengertian-dasar-logika-dan-algoritma
Materi simkomdig-pengertian-dasar-logika-dan-algoritmaMateri simkomdig-pengertian-dasar-logika-dan-algoritma
Materi simkomdig-pengertian-dasar-logika-dan-algoritmaDonnie Xover
 
Lampiran materi simkomdig 3.1 4.1
Lampiran materi simkomdig 3.1   4.1Lampiran materi simkomdig 3.1   4.1
Lampiran materi simkomdig 3.1 4.1Adrian Odja
 
Notasi Algoritma pada bahsa pemograman .pptx
Notasi Algoritma pada bahsa pemograman .pptxNotasi Algoritma pada bahsa pemograman .pptx
Notasi Algoritma pada bahsa pemograman .pptxwindaamriani
 
Struktur Runtunan Algoritma
Struktur Runtunan AlgoritmaStruktur Runtunan Algoritma
Struktur Runtunan Algoritmacasnadi
 
laporan algoritma dan pemprograman 1
laporan algoritma dan pemprograman 1laporan algoritma dan pemprograman 1
laporan algoritma dan pemprograman 1bejarangkunjui
 
Laporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiLaporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiDevi Apriansyah
 
Algoritma dan Flowchart.ppt
Algoritma dan Flowchart.pptAlgoritma dan Flowchart.ppt
Algoritma dan Flowchart.pptMuhammadAxel1
 
Ringkasan materi teori algoritma
Ringkasan materi teori algoritmaRingkasan materi teori algoritma
Ringkasan materi teori algoritmaAkhmad Asari
 
stuktur algoritma.pptx
stuktur algoritma.pptxstuktur algoritma.pptx
stuktur algoritma.pptxssuser98f5ad
 

Ähnlich wie Modul algoritma dan struktur data i (20)

Pengertian algoritma
Pengertian algoritmaPengertian algoritma
Pengertian algoritma
 
Algoritma Pemrograman
Algoritma PemrogramanAlgoritma Pemrograman
Algoritma Pemrograman
 
Logika pemrograman hand out
Logika pemrograman hand outLogika pemrograman hand out
Logika pemrograman hand out
 
Materi ap#1
Materi ap#1Materi ap#1
Materi ap#1
 
Algoritma dan Pemrograman
Algoritma dan PemrogramanAlgoritma dan Pemrograman
Algoritma dan Pemrograman
 
dokumen.tips_materi-ii-pengertian-algoritma-dan-flowchart-563fd02001d95.ppt
dokumen.tips_materi-ii-pengertian-algoritma-dan-flowchart-563fd02001d95.pptdokumen.tips_materi-ii-pengertian-algoritma-dan-flowchart-563fd02001d95.ppt
dokumen.tips_materi-ii-pengertian-algoritma-dan-flowchart-563fd02001d95.ppt
 
Pemrograman terstruktur
Pemrograman terstrukturPemrograman terstruktur
Pemrograman terstruktur
 
Algoritma pertemuan 1
Algoritma pertemuan 1Algoritma pertemuan 1
Algoritma pertemuan 1
 
Algo 1 2
Algo 1 2Algo 1 2
Algo 1 2
 
Algoritma 02
Algoritma 02Algoritma 02
Algoritma 02
 
Materi simkomdig-pengertian-dasar-logika-dan-algoritma
Materi simkomdig-pengertian-dasar-logika-dan-algoritmaMateri simkomdig-pengertian-dasar-logika-dan-algoritma
Materi simkomdig-pengertian-dasar-logika-dan-algoritma
 
Lampiran materi simkomdig 3.1 4.1
Lampiran materi simkomdig 3.1   4.1Lampiran materi simkomdig 3.1   4.1
Lampiran materi simkomdig 3.1 4.1
 
Notasi Algoritma pada bahsa pemograman .pptx
Notasi Algoritma pada bahsa pemograman .pptxNotasi Algoritma pada bahsa pemograman .pptx
Notasi Algoritma pada bahsa pemograman .pptx
 
Struktur Runtunan Algoritma
Struktur Runtunan AlgoritmaStruktur Runtunan Algoritma
Struktur Runtunan Algoritma
 
laporan algoritma dan pemprograman 1
laporan algoritma dan pemprograman 1laporan algoritma dan pemprograman 1
laporan algoritma dan pemprograman 1
 
Laporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiLaporan praktikum modul ii & iii
Laporan praktikum modul ii & iii
 
Algoritma dan Flowchart.ppt
Algoritma dan Flowchart.pptAlgoritma dan Flowchart.ppt
Algoritma dan Flowchart.ppt
 
Algoritma dan Flowchart.ppt
Algoritma dan Flowchart.pptAlgoritma dan Flowchart.ppt
Algoritma dan Flowchart.ppt
 
Ringkasan materi teori algoritma
Ringkasan materi teori algoritmaRingkasan materi teori algoritma
Ringkasan materi teori algoritma
 
stuktur algoritma.pptx
stuktur algoritma.pptxstuktur algoritma.pptx
stuktur algoritma.pptx
 

Modul algoritma dan struktur data i

  • 1. Universitas Putra Indonesia (UPI) “YPTK” Padang Fakultas Ilmu Komputer Bahan Ajar Matakuliah : Algoritma dan Struktur Data I Kode Mata Kuliah : KKKI13102 Padang 2009/2010 Team Dosen Algoritma dan Struktur Data I
  • 2. Algoritma dan Struktur Data I Materi Ajar 1. Pengantar Algoritma - Pendahuluan - Pengertian Algoritma 2. Dasar-Dasar Algoritma - Struktur Dasar algoritma - Runtunan (Struktur Urut) - Pemilihan Kondisi (Struktur Seleksi) - Perulangan 3. Simbol-Simbol Program Flowchart 4. Tipe Data, Nama (Variabel), dan Nilai - Tipe Dasar - Tipe Bentukan - Rekaman - Nama ( Variabel) - Operator Pada Pemrograman 5. Runtunan 6. Struktur Percabangan(Kondisi) - If........then - If........then ........else....... - If........then.........else if.......then......else............ - Struktur Case 7. Struktur Perulangan - Struktur While........Do - Struktur Repeat .......Until - Struktur For......to..... Do 8. Procedure - Defenisi Procedure - Mendefenisikan Procedure - Pemanggilan Procedure - Nama Global dan Lokal - Parameter Masukan dan Parameter Keluaran 9. Function - Mendefenisikan Function - Pemanggilan Function 10. Larik (Array) - Defenisi Larik - Mendefenisikan Larik - Cara Mengacu Elemen Larik - Pemrosesan Larik Team Dosen Algoritma dan Struktur Data
  • 3. Algoritma dan Struktur Data I Pertemuan 1 Pengantar Algoritma Pengertian Algoritma : adalah urutan langkah-langkah logis dalam penyelesaian masalah yang disusun secara sistematis. Contoh : Tentukan nilai A dengan rumus yang bisa digunakan adalah C=A+B C?  Untuk menentukan nilai C maka yang harus kita ketahui terlebih dahulu adalah nilai A dan nilai B Untuk nilai A dan B ini dapat berupa konstanta atau merupakan hasil proses yang lainnya. Jadi Nilai C tidak akan bisa didapatkan sebelum kita mengetahui nilai A dan nilai B. Jadi langkah pertama kita adalah menentukan nilai A dan B, kemudian baru menghitung penjumlahan kedua nilai tersebut. Urutan inilah yang disebut sebagai urutan logis. Contoh lain adalah : untuk menukar isi bejana A yang berisi air berwarna Biru dengan bejana B yang berisi air berwarna Merah. Sehingga nantinya bejana A berisi air berwarna merah sedangkan bejana B berisi air berwarna Biru. Algoritma adalah : - tuangkan isi bejana A ke bejana B, kemudian tuangkan isi bejana B ke bejana A. Cara yang ditempuh diatas adalah SALAH karena pada saat isi bejana A dituangkan ke bejana B maka air yang ada pada bejana B akan tercampur dengan air yang ada pada bejana B, sehingga pada saat isi bejana B dituangkan ke dalam bejana A maka Warnanya sudah tercampur dengan isi bejana A. Algoritma yang tepat adalah : - Siapkan sebuah bejana dalam keadaan kosong diumpamakan dengan bejana C - Kemudian isi bejana A dituangkan kedalam bejana C sehingga bejana A dalam keadaan kosong - Langkah berikutnya isi bejana B dituangkan kedalam bejana A sehingga bejana B sekarang dalam keadaan kosong. - Baru kemudian isi bejana C dituangkan kedalam bejana B - Perhatikan bahwa isi bejana sudah berpindah ke bejana B dan isi bejana B sudah berpindah ke bejana A Team Dosen Algoritma dan Struktur Data
  • 4. Algoritma dan Struktur Data I Alat-alat Bantu dalam menggambarkan Algoritma Untuk menggambarkan urutan suatu proses maka ada beberapa cara (alat bantu) yang bisa digunakan. Cara yang digunakan harus sudah berlaku secara umum dan mempunyai aturan-aturan tertentu. Cara yang bisa digunakan antara lain : - Algoritma - IPO Chart - Flow Chart Program Contoh penggunaan alat bantu diatas: (kasus dari contoh pertama) C=A+B 1. Algoritma Urutan instruksi yang diberikan adalah : - Tentukan nilai A dan B - Proses nilai A ditambah nilai B - Cetak hasil (nilai C) 2. IPO Chart Dipanggil Memanggil Input A,B Output C Proses C=A+B start 3. Program Flow Chart A,B,C Inpu t A,B C=A+B Cetak C Stop Team Dosen Algoritma dan Struktur Data
  • 5. Algoritma dan Struktur Data I Mekanisme Pelaksanaan Algoritma oleh Pemroses. Dalam pembuatan algoritma ini maka hasil akan didapatkan dengan adanya prosesan. Pemroses dapat berupa alat-alat elektronik, manusia, robot dan alat- alat elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau mengeksekusi algoritma yang menjabarkan proses tersebut. Melaksanakan algoritma berarti mengerjakan langkah-langkah di dalam algoritma tersebut. Pada algoritma yang akan dipelajari alat peruses yang akan digunakan adalah komputer. Pada komputer dapat dibedakan atas 4 unit utama - piranti masukan - piranti keluaran - piranti proses - piranti memori Data pada komputer akan diproses pada piranti proses yang sering dikenal dengan CPU. Mekanisme dari ke empat piranti di atas dapat digambarkan sebagai berikut : Piranti Masukan Unit pemrosesan Piranti Keluaran Utama (CPU) Memori Mekanisme dari keempat piranti diatas dapat dijelaskan sebagai berikut : Mula-nula program dimasukkan ke dalam memori komputer. Ketika program dilaksanakan, setiap instruksi yang telah disimpan didalam memori dikirim ke CPU. CPU mengerjakan operasi-operasi yang bersesuaian dengan instruksi tersebut. Bila suatu operasi memerlukan data, data dibaca dari piranti masukan , disimpan dalam memori lalu dikirim ke CPU untuk operasi yang memerlikan tadi.. Bila proses menghasilkan keluaran, keluaran disimpan ke dalam memori, lalu dari memori keluaran dikirimkan ke piranti keluaran. Sebuah algoritma akan dapat dikenal oleh komputer jika sudah dipindahkan kedalam bentuk yang dapat dimengerti oleh komputer, dalam hal ini disebut dengan program. Ada bermacam-macam bahasa pemrogram yang dikenal seperti, Basic, Bahasa C, Pascal, Fortran, Visual Basic, Delphi ,dll. Team Dosen Algoritma dan Struktur Data
  • 6. Algoritma dan Struktur Data I Pertemuan 2 Simbol-Simbol Program Flow Chart Awal dan akhir suatu program Inisialisasi variable ( persiapan awal ) Input dan output ( masukan dan keluaran ) program Proses program Percabangan / perulangan Perulangan Connector (tanda sambung untuk halaman sama ) Connector ( tanda sambung untuk halaman berbeda ) Arah proses Sub program / Procedure ( blok program ) Struktur Bahasa Pascal Judul Program Blok Program Bagian Deklarasi - variable - label - konstanta - type - procedure - function Bagian Pernyataan Perintah Input Output Team Dosen Algoritma dan Struktur Data
  • 7. Algoritma dan Struktur Data I - Read dan readln (perintah input ) - Write dan writeln (perintah output) contoh : readln(a)  input nilai A write(A)  cetak nilai A write(‘A’)  cetak ‘A’ Contoh Soal : Buat flowchart program dan program Pascal untuk menampilkan hasil perkalian sebagai berikut : A=B x C  Nilai B Dan C Diinputkan P=Q(R+S) + R(Q+S)  Nilai Q,R,dan S diinputkan Deklarasi Variabel, Label, Konstanta Deklarasi variable dinyatakan dengan statemen Var Contoh Var A:integer; Deklarasi Label dinyatakan dengan statemen Label Contoh Label 100 Deklarasi konstanta dinyatakan dengan statemen Const Contoh Const a:=100; Syarat-syarat pemberian nilai variable - harus dimulai dengan huruf - harus merupakan satu kesatuan - Tidak boleh ada symbol-simbol khusus kecuali ‘_’ (garis bawah) - Huruf besar dan kecil dianggap sama - Panjang tidak terbatas Team Dosen Algoritma dan Struktur Data
  • 8. Algoritma dan Struktur Data I Deklarasi Fungsi dan prosedure Fungsi dan prosedure merupakan blok program yang terpisah dari program utama yang mempunyai struktur program hampir sama dengan program utama. Prosedure dinyatakan dengan statemen PROCEDURE sedangkan fungsi dinyatakan dengan statemen FUNCTION CONTOH PROSEDUR PROCEDURE SATU; VAR BEGIN END; CONTOH FUNGSI FUNCTION AKAR; BEGIN END; Tipe Data Pada Program Pascal Program komputer bekerja dengan memanipulasi data didalam memori. Data yang dimanipulasi mempunyai beberapa tipe data seperti : - nilai numerik - karakter - string - rekaman (record) Tipe data dapat dikelompokkan dalam dua kelompok yaitu : - Tipe Dasar (nilainya bias langsung dipakai) - Tipe Bentukan (tipe data yang didefeisikan dari tipe dasar) 1. Tipe Dasar Yang termasuk tipe dasar adalah : - karakter - bilangan Team Dosen Algoritma dan Struktur Data
  • 9. Algoritma dan Struktur Data I - logika - Tipe bilangan ada beberapa macam a. Bilangan bulat - Shortint -128 s/d +127 - Byte 0 s/d 255 - Integer -32768 s/d +32767 - Longint -2147483648 s/d +2147483648 - Word 0 s/d 65535 b. Bilangan pecahan - Real 2.9 X 10 –39 s/d 1,7 X 10 38 - Single 1.5 X 10 –45 s/d 3,4 X 10 38 - Double 5.0 X 10 –324 s/d 1,7 X 10 308 - Extend 3.4 X 10 –4932 s/d 1,1 X 10 4932 - Tipe data Karakter Yang termasuk kedalam tipe data karakter adalah : huruf-huruf alfabet, tanda baca, angka ‘0’,’1’,….’9’ dan karakter khusus ‘&’,’^’,…….. - Logika Tipe data ini mempunyai nilai Benar dan Salah 2. Tipe Bentukan Tipe bentukan adalah tipe data yang didefenisikan sendiri oleh pemrogram. Ada 3 tipe data bentukan 1. String 2. Tipe data dasar yang diberi nama dengan nama tipe baru. 3. Rekaman (record) 1. String Adalah deretan karakter dengan panjang tertentu Contoh : a:string[15] 2. Tipe data dasar yang diberi nama baru Contoh : Type BilBulat : Integer: 3. Rekaman Team Dosen Algoritma dan Struktur Data
  • 10. Algoritma dan Struktur Data I Contoh : Type mahasiswa=record Nbp :string[13]; Nm :string[25]; End; Pertemuan 3 Operator Pada Program 1. Operator Aritmatika Yaitu symbol yang digunakan untuk proses perhitungan +, - , * , / , div , mod - operator ‘/’ digunakan untuk pembagian dengan hasil adalah bilangan pecahan - operator div digunakan untuk pembagian dengan hasil adalah bilagan bulat - mod adalah operator yang digunakan untuk mencari sisa hasil bagi Pada proses aritmatik adakalanya ada beberapa operator ditemui pada satu ekspresi. Contoh : Z=A+B*C Pada contoh diatas ada 2 operator yang ditemui yaitu + dan *. Jika hal ini terjadi maka yang akan diproses terlebih dahulu adalah operator dengan prioritas tertinggi. Berikut prioritas pengerjaan dari masing-masing operator. 1. * , /, mod , div 2. + dan – 2. Operator Relasional Adalah < , > , >= , <= , not , and , or . Hasil dari operator ini adalah benar atau salah. Contoh-contoh soal: Perrtemuan 4 (pratikum) Team Dosen Algoritma dan Struktur Data
  • 11. Algoritma dan Struktur Data I Runtunan Merupakan urutan proses program yang terurut tanpa adanya proses percabangan. Contoh untuk proses runtunan ini juga bisa dilihat pada pertukaran isi bejana pada pertemuan 1 Contoh : buat algoritma dan program untuk menghitung hasil formula berikut Nilai x bisa didapatkan dari hasil perkalian p dan q. dimana nilai p didapatkan dari formula berikut : P=3a+b *c Sedangkan nilai q didapat kan dari formula q=4b*c+d Tentukan terlebih dahulu data apa yang perlu diinputkan dan urutkan proses yang harus dikerjakan. Algoritma :………. Program pascal ……… Pertemuan 5 dan 6 Team Dosen Algoritma dan Struktur Data
  • 12. Algoritma dan Struktur Data I Struktur Percabangan Yaitu pemilihan suatu instruksi yang akan dikerjakan sesuai dengan kondisi / syarat tertentu a. IF…………THEN Digunakan jika pada pemilihan hanya ada satu aksi yang akan dilakukan jika kondisi tertentu terpenuhi dan tidak ada aksi yang lain yang akan dikerjakan jika kondisi tidak terpenuhi. Contoh :jika nilai rata besar dari 3 maka ket ‘dapat bonus’ jika tidak tidak dapat apa-apa. Flow chart : Program : Write(‘nilai rata-rata : ‘); Input Nil_rata Readln(nil_rata); If nil_rata > 3 then Begin Nil_rata Ket:=’Dapat Bonus’ >3 End; Ket=’Dapat Bonus’ b. IF………THEN…….ELSE……… Digunakan jika pada pemilihan ada dua aksi yang akan dilakukan Team Dosen Algoritma dan Struktur Data
  • 13. Algoritma dan Struktur Data I Contoh : jika nilai besar dari 60 maka keterangan lulus jika tidak keterangan gagal Flowchart : Program : Input nilai Nilai>60 Ket=’Gagal ’ Ket=’Lulus’ Write(‘Inputkan nilai: ‘);Readln(nilai); If nilai > 60 then Begin Ket:=’Lulus’ End Else Begin Ket:=’Gagal’ End; c. IF……THEN……ELSEIF…….THEN……ELSE Team Dosen Algoritma dan Struktur Data
  • 14. Algoritma dan Struktur Data I Digunakan jika pada pemilihan ada beberapa aksi yang akan dilakukan berdasarkan beberapa syarat yang harus terpenuhi. Contoh : Tentukan apakah wujud air dalam keadaan cair, padat, atau gas. Flowchart : Input Suhu Suhu <=0 Suhu >=100 Ket=’Padat’ Ket=’Cair’ Ket=’Gas Write(‘Inputkan Suhu: ‘);Readln(suhu); If suhu <= 0 then Begin Ket:=’Padat’ End Else if suhu >= 100 then Begin Ket:=’Gas’ End Else Begin Ket:=’Cair’ End; Tentukan apakah suatu bilangan negatif, positif, atau nol Team Dosen Algoritma dan Struktur Data
  • 15. Algoritma dan Struktur Data I Flowchart : program: Input Bil false Bil<0 false true Bil>0 Ket=’Negatif true Ket=’Nol’ ’ Ket=’Positif ’ Write(‘Inputkan Bil: ‘);Readln(bil); If bil < 0 then Begin Ket:=’Negatif’ End Else if bil > 0 then Begin Ket:=’Positif’ End Else Begin Ket:=’Bil. Nol’ End; d. Struktur Case Team Dosen Algoritma dan Struktur Data
  • 16. Algoritma dan Struktur Data I Struktur case adalah cara lain yang bisa digunakan untuk memilih suatu kondisi tertentu. Syntax: Case (var) Var = …..: hasil =….. Var = …...: hasil =….. …. …. Endcase Pertemuan 7,8 Team Dosen Algoritma dan Struktur Data
  • 17. Algoritma dan Struktur Data I PENGULANGAN - While……..do - Repeat…….until - For …..to……do 1. While ..... Do Perulangan dengan while ..do digunakan selama kondisi (syarat) yang ada pada perulangan benar (terpenuhi) Contoh :Mencetak ‘Halo’ sebanyak 10 kali K:=1 While k< 10 do K=1 begin write (‘Halo’); While k:=k+1; k<10 do end; Write ‘Halo’ K=k+1 Keterangan : Perintah write ‘halo’ akan dilaksanakan selama nilai k<= 1, dimana di dalam setiap perulangan nilai k akan bertambah nialainya 1 (satu) sehingga perintah write akan dilakukan sebanyak 10 kali 2. Repeat ........ Until Perulangan dengan repeat until digunakan selama kondisi belum terpenuhi K=1 Repeat Write ‘Halo’ Contoh : mencetak ‘Halo’ sebanyak 10 kali K=k+1 Team Dosen Algoritma dan Struktur Data Until
  • 18. Algoritma dan Struktur Data I K:=1 Repeat write (‘Halo’); k:=k+1; Until k>10; Keterangan : Write (‘halo’) akan dilakukan selama nilai K tidak besar dari 10. Pada struktur repeat until instruksi yang ada anatara repeat dan until minimal satu kali proses akan dilakukann karena nilai / syarat dari perulangan terletak di akhir struktur. 3. For ....to... do Perulangan dengan struktur for akan dilakukan sesuai dengan jumlah perulangan yang ditetapkan pada struktur for. Contoh : menampilkan ‘halo’ sebanyak 10 kali K:=1 Repeat write (‘Halo’); For k=1 to 10 do k:=k+1; Until k>10; Write(‘halo’ ) Keterangan : Write(‘halo’) akan dilaksanakan sebanyak 10 kali sesuai dengan jumlah perulangan yang udah ditetapkan pada struktur For yaitu 1 s/d 10. pada struktur perulangan ini nilai K akan bertambah 1 secara otomatis begitu perintah sampai pada khir perulangan. Erulangan dengan struktur for dapat dibagi menjadi 2 bagian Team Dosen Algoritma dan Struktur Data
  • 19. Algoritma dan Struktur Data I 1. For menaik 2. For menurun 1. For menaik - peubah haruslah bertipe sederhana kecuali tipe real - nilai awal harus lebih kecil atau sama dengan nilai akhir - pada awalnya peubah diinisialisasi dengan nilai awal. Nilai peubah otomatis bertambah satu setiap kali aksi pengulangan dimasuki, sampai akhirnya nilai peubah sama dengan nilai akhir - jumlah pengulangan yang terjadi adalah nilai akhir – nilai awal +1 2. For menurun - peubah haruslah bertipe sederhana kecuali tipe real - nilai awal harus lebih besar atau sama dengan nilai akhir - pada awalnya peubah diinisialisasi dengan nilai awal. Nilai peubah otomatis berkurang satu setiap kali aksi pengulangan dimasuki, sampai akhirnya nilai peubah sama dengan nilai akhir - jumlah pengulangan yang terjadi adalah nilai awal – nilai akhir +1 Contoh-contoh Kasus Pertemuan 10 Loop Dalam Loop ( Nested Loop) Team Dosen Algoritma dan Struktur Data
  • 20. Algoritma dan Struktur Data I Pada proses perulangan sangat dimungkinkan adanya terjadi proses perulangan didalam perulangan yang lain, proses ini dikenal dengan istilah Nested Loop 1. Nested Loop pada For ....... to ........ Do Syntax : For....to.....do Instruksi For....to....do Instruksi... end end Keterangan : Pada perulangan seperti ini proses perulangan yang akan diselesaikan terlebih dahulu adalah perulangan yang terletak pada bagian dalam. Contoh : inputkan data buku maksimal 5 Judul buku dimana masing- masing buku memiliki pengarang maksimal ada 4 pengarang. Berikut data lengkap yang harus diinputkan : Kode Buku : Judul Buku : Pengarang : Tahun Terbit : For i:=1 to 5 do For i :=1 to 5 Begin Write (‘Kode Buku :’); readln(kdb); Input kdb,jdl Write (‘Judul Buku :’); readln(jdl); For k :=1 to 4 For k:=1 to 4 do Begin Input pg,th Write (‘Pengarang :’); readln(pg); Write (‘Tahun Terbit :’); readln(th); End; End; Keterangan : Team Dosen Algoritma dan Struktur Data
  • 21. Algoritma dan Struktur Data I Pada program diatas proses perulangan pada i akan dilaksanakan terlebih dahulu untuk i=1, berikut proses perulangan akan berada pada k dimana perulangan akan dilaksanakan mulai dari k=1 sampai nilai k=4. Begitu nilai k=5 proses akan keluar dari perulangan k dan akan kembali ke perulangan i dengan nilai I akan langsung bertambah satu sehingga menjadi 2. Perulangan akan dilanjutkan kembali ke perulangan K mulai dari nilai k=1 lagi sampai nilai sama dengan 4. Begitu seterusnya sampai nilai I sama dengan 5. Begitu nilai I=6 maka proses akan keluar dari perulangan secara keseluruhan 2. Nesterd Loop Pada While ......Do Pada prinsip kerjanya nested loop while ...do sama dengan for..to..do dimana proses perulangan yang akan diselesaikan terlebih dahulu adalah perulangan yang terletak bagian dalam Syntax : While.........do Instruksi While .....do Instruksi End End Selesaikan contoh pada for ...to...do dengan menggunakan while....do Team Dosen Algoritma dan Struktur Data
  • 22. Algoritma dan Struktur Data I I:=1 I:=1; While I<=5 do Begin While I<=5 do Write (‘Kode Buku :’); readln(kdb); Input kdb,jdl Write (‘Judul Buku :’); readln(jdl); K:=1; K:=1 While k<=1 to 4 do Begin Write (‘Pengarang :’); While K<=4 do readln(pg); Write (‘Tahun Terbit :’); Input pg,th readln(th); K:=K+1; K:=K+1 End; I:+I+1; End; I=I+1 3. Nested Loop Pada Repeat ..........Until Proses nested repeat until hampir sama dengan proses yang ada pada nested for dan nested whie. Tetapi disini masing-masing perulangan pada repeat ...until satu kali proses pasti akan dilakukan sesuai dengan keterangan yang ada pada perulangan dengan repeat until. Contoh : Selesaikan kasus pada nested loop sebelumnya dengan menggunakan Repeat until. Team Dosen Algoritma dan Struktur Data
  • 23. Algoritma dan Struktur Data I I:=1 I:=1; Repeat Repeat Write (‘Kode Buku :’); readln(kdb); Write (‘Judul Buku :’); Input kdb,jdl readln(jdl); K:=1; K:=1 Repeat Write (‘Pengarang :’); readln(pg); Repeat Write (‘Tahun Terbit :’); readln(th); Input pg,th K:=K+1; Until K>4; I:+I+1; K:=K+1 Until I>5; Until K>4 do I:=I+1 While I<=5 do Pertemuan 11, 12 Team Dosen Algoritma dan Struktur Data
  • 24. Algoritma dan Struktur Data I Procedure Pengertian Procedure : Adalah merupakan blok program yang terpisah dari program utama dengan struktur program hampir sama dengan struktur program utama Struktur Procedure Judul Procedure Bagian Deklarasi Variabel Label Constanta Type Badan Procedure Begin instruksi End; Procedure sendiri harus dibuat sebelum program utama sesuai dengan struktur program. Setiap procedure dibatasi dengan end yang menggunakan tanda titik koma. Procedure biasanya ditemukan pada program untuk skala yang besar, sehingga dalam pembuatan program untuk lebih mudah dalam mendisainnya dibentuk dalam modul-modul program yang dikenal dengan Procedure. Namun demikian bukan berarti procedure tidak bisa diterapkan untuk program dengan skala yang lebih kecil. Prosedur dideklarasikan dengan menggunakan Statemen Procedure. Setiap procedure selalu diakhiri dengan menggunakan tanad titik koma pada end yang terakhir. Contoh pendeklarasian prosedur : Procedure Satu; Begin Write (‘ini adalah prosedur yang pertama’); Repeat until keypressed; End; {Program Utama} Begin Satu; Write (‘Prosedur pertama selesai’); Repeat untuil keypressed; End. Team Dosen Algoritma dan Struktur Data
  • 25. Algoritma dan Struktur Data I Pada contoh diatas pada saat program dijalankan maka program utama akan dieksekusi terlebih dahulu. Pada saat proses eksekusi ditemukan perintah satu yang dikenal sebagai nama sebuah prosedur. Nama ini dikenal pada saat compiler mengkompilasi program maka satu dicatat sebagai nama sebuah prosedur . Jadi begitu ditemukan satu maka compiler akan mencari kelisting program prosedur dengan nama satu. Setelah ditemukan maka akan diproses. Setelah proses pada prosedur selesai maka proses program akan kembali pada program utama. Contoh :kasus Buat program dengan menggunakan prosedur untuk menampilkan output berikut : Algoritma adalah dasar untuk pembuatan program Algoritma dapat digambarkan dengan Flow Chart Program Pascal adalah salah satu bahasa untuk mengantarkan algoritma Ketentuan proses : Kalimat pertama dibuat pada prosedur dengan nama Algoritma Kalimat kedua dibuat pada prosedur dengan nama Flow_Chart Kalimat ketiga dibuat pada prosedur dengan nama Pascal Pendeklarasian Parameter Pada Procedure Variabel pada program Pascal lebih dikenal dengan nama parameter. Parameter dapat berupa parameter lokal dan dapat berupa parameter global. Parameter lokal adalah parameter yang hanya bisa digunakan untuk proses pada prosedur yang bersangkuta Parameter global adalah parameter yang dapat digunakan untuk semua blok program yang ada sesudahnya dan pada prosedur yang bersangkutan. Contoh pendeklarasian parameter pada prosedur. Team Dosen Algoritma dan Struktur Data
  • 26. Algoritma dan Struktur Data I Procedure Satu; Var A : integer; Begin End; Var X:longint; Procedure Dua; Var B:integer; Begin End; Var P,Q : Longint; Begin ....... ....... End. Keterangan : Var A dan Var B adalah variabel lokal pada prosedur satu dan dua. Var A hanya bisa digunakan untuk proses yang ada pada prosedur satu sedangkan Var B hanya dapat digunakan untuk proses pada prosedur dua. Var X adalah variabel yang bersifat global untuk prosedur dua dan program utama. Jadi var X dapat digunakan untuk proses baik pada prosedur dua maupun pada program utama, tetapi tidak bisa digunakan untuk proses pada prosedur satu. Var P,Q adalah var yang hanya dapat digunakan pada program utama saja. Contoh kasus Buat program untuk menghitung luas suatu bangun dengan output sebagai berikut. Program Menghitung Luas Bangun Bujur Sangkar dan Segitiga Siku-Siku 1. Luas Bujur Sangkar 2. Luas Segitiga Siku-Siku 3. Selesai Input Pilihan [1-2] :.. Team Dosen Algoritma dan Struktur Data
  • 27. Algoritma dan Struktur Data I Mencari Luas Bujur Sangkar Input Panjang Sisi :..... Luas Bujur Sangkar Adalah :...... Tekan Enter Untuk Melanjutkan Mencari Luas Segitiga Siku-Siku Input Panjang Alas :..... Input Tinggi Segitiga :..... Luas Segitiga Adalah :...... Tekan Enter Untuk Melanjutkan Start Pil, Luas Cetak Output Program Utama Input pil pil=1 pil=2 Bujur_sangkar Siku-Siku Stop Team Dosen Algoritma dan Struktur Data
  • 28. Algoritma dan Struktur Data I Bujur_Sangka r Sisi Cetak Output Prosedur Bujur Sangkar Input sisi Luas = sisi * sisi Cetak Luas Return Siku_Siku Alas,tinggi Cetak Output Prosedur Segitiga Siku-Siku Input alas, tinggi Luas = ½ * alas * tinggi Cetak Luas Return Team Dosen Algoritma dan Struktur Data
  • 29. Algoritma dan Struktur Data I {Program Pascal} Var Pil : integer ; Luas : real; Procedure bujur_sangkar; Var sisi:integer; Begin Clrscr; Gotoxy (...,...) ; write (‘Mencari Luas Bujur Sangkar’); Gotoxy (...,..) ; write (‘Input Panjang Sisi : ‘); Gotoxy (...,...) ; write (‘ Luas Bujur Sangkar Adalah :’); Gotoxy (...,... ) ; readln (sisi); Luas := sisi * sisi ; Gotoxy (..,...) ; write (luas:6:1); Repeat until keypressed; End; Procedure siku_siku; Var alas,tinggi:integer; Begin Clrscr; Gotoxy (...,...) ; write (‘Mencari Luas Segi Tiga Siku-Siku’); Gotoxy (...,..) ; write (‘Input Panjang Alas : ‘); Gotoxy (...,..) ; write (‘Input Tinggi Segi Tiga : ‘); Gotoxy (...,...) ; write (‘ Luas Segi Tiga Adalah :’); Gotoxy (...,... ) ; readln (alas); Gotoxy (...,... ) ; readln (tinggi); Luas := 0.5 * alas * tinggi ; Gotoxy (..,...) ; write (luas:6:1); Repeat until keypressed; End; Begin Clrscr; Gotoxy (...,...); write (‘Program Menghitung Luas Bangun’); Gotoxy (...,...); write (‘Bujur Sangkar dan Segitiga Siku-Siku’); Gotoxy (...,...); write (‘Luas Bujur Sangkar’); Gotoxy (...,...); write (‘Luas Segitiga Siku-Siku’); Gotoxy (...,...); write (‘Selesai’); Gotoxy (...,...); write (‘Input Pilihan [1-2] :..’); Gotoxy (...,...);readln(pil); If pil=1 then Bujur_sangkar Else if pil=2 then Team Dosen Algoritma dan Struktur Data
  • 30. Algoritma dan Struktur Data I Siku_siku; Repeat until keypressed; End. Keterangan program Pada program di atas var pil dan luas adalah bersifat global untuk semua blok program. Var sisi bersifat lokal untuk prosedur bujur sangkar Var alas,tinggi bersifat lokal untuk siku-siku. Kasus : Buatlah program untuk menghitung Nilai Faktorial dan Pangkat dengan output sebagai berikut : Program Menghitung Nilai Faktorial dan Pangkat 1. Faktorial 2. Pangkat 3. Selesai Input Pilihan [1-3] :.. Menghitung Faktorial Input Bilangan Yang Dicari :... Nilai Faktorialnya Adalah :..... Tekan Untuk Melanjutkan Menghitung Pangkat Input Bilangan Yang Dicari :... Input Jumlah angkat Yang Diinginkan :..... ..... Pangkat..... adalah ........ Tekan Enter Untuk Melanjutkan Team Dosen Algoritma dan Struktur Data
  • 31. Algoritma dan Struktur Data I Pertemuan 13,14 Pengiriman Nilai Parameter Pada Procedure Pada sebuah program dimungkinkan adanya pengiriman nilai parameter dari satu prosedur ke prosedur yang lain Pengiriman nilai parameter ini dapat berupa pengiriman secara nilai dan secara acuan. Contoh : Buat flow chart dan program berikut dengan ketentuan dan output sebagai berikut : Menghitung Luas permukaan sebuah balok dengan panjang sisi-sisi balok adalah - panjang 10 cm - lebar 5 cm - tinggi balok 100 cm Buat program dengan menggunakan prosedur persegi panjang dengan panjang sisi balok diinputkan melalui program. Output Menghitung Luas Permukaan Balok Input Panjang Alas :…. Input Lebar Alas :…. Input Tinggi Balok :… Luas Permukaan Balok Adalah :… Sisi2 Sisi1 Sisi3 Team Dosen Algoritma dan Struktur Data
  • 32. Algoritma dan Struktur Data I start pj,lb,tg,ls,sisi1,si si2,sisi3 Cetak Output Input pj,lb,tg Persegi_Panjang (pj,tg,ls) Sisi1:=ls Persegi_Panjang (lb,tg,ls) Sisi2:=ls Persegi_Panjang (lb,pj,ls) Sisi3:=ls Lper := 2*sisi1+2*sisi2+2*sisi3 Cetak LPer Stop Team Dosen Algoritma dan Struktur Data
  • 33. Algoritma dan Struktur Data I Procedure persegi_panjang (panjang,lebar : integer ; var luas:integer ); Begin Luas := panjang * lebar; End; {program utama} var pj,lb,tg,ls,sisi1,sisi2,sisi3 :integer; Begin Clrscr; Gotoxy (…,…) ; write (‘Menghitung Luas Permukaan Balok’); Gotoxy (…,… ) ; write (‘Input Panjang Alas :…’); Gotoxy (…,… ) ; write (‘Input Lebar Alas :…’); Gotoxy (…,… ) ; write (‘Input Tinggi Balok :…’); Gotoxy (…,… ) ; write (‘Luas Permukaan Balok Adalah :…..’); Gotoxy (…,… ) ; readln ( pj ); Gotoxy (…,… ) ; readln ( lb ); Gotoxy (…,… ) ; readln ( tg ); Persegipanjang(pj,tg,ls); Sisi1:=ls; Persegipanjang(lb,tg,ls); Sisi2 :=ls; Persegipanjang(pj,lb,ls); Sisi3:=ls; Lper := 2*sisi1+2*sisi2+2*sisi3 Gotoxy (…,…) ; write (lper); Repeat until keypressed; End. Keterangan : Pada program diatas luas permukaan balok merupakan luas semua sisi balok. Dimana balok terdiri dari 6 sisi seperti terlihat pada gambar diatas. Semua permukaan balok merupakan persegipanjang, sehingga kita dapat hanya menggunakan prosedur persegi panjang. Pada prosedur persegi panjang ada 2 cara pengiriman data yaitu secara nilai dan secara acuan. Pengiriman secara nilai ditandai dengan penggunaa kata VAR Pengiriman secara nilai adalah : bahwa hasil yang didapatkan pada prosedur tidak akan mempengaruhi nilai yang ada pada modul yang mengirim (dalam hal ini adalah program utama). Sehingga perubahan nilai variabel panjang pada prosedur tidak akan mempengaruhi nilai var PJ pada program utama. Pengiriman secara Acuan adalah : bahwa hasil yang didapatkan pada prosedur akan mempengaruhi nilai yang ada pada modul yang mengirim. Sehingga perubahan niali var Luas pada prosedur akan mempengaruhi nilai var LS pada program utama. Team Dosen Algoritma dan Struktur Data
  • 34. Algoritma dan Struktur Data I Pengiriman secara nilai begitu proses pada program yang dipanggil sudah selesai maka nilai variabel yang dikirim akan dikembalikan ke modul yang memanggil. Kasus Buat flowchart dan program pascal untuk menghitung formula berikut : 1. Z=2^5 + 5! 2. Z=X! + Y + X^Y Gunakan prosedur pangkat dan faktorial untuk menyelesaikan kasus diatas. Tampilan dari hasil program dirancang sendiri. Team Dosen Algoritma dan Struktur Data
  • 35. Algoritma dan Struktur Data I FUNGSI Fungsi hampir sama dengan prosedur yaitu merupakan bagian program yang terpisah dari program utama. Perbedaan fungsi dengan prosedur adalah bahwa nilai suatu fungsi terletak pada nama fungsi itu sendiri sedangkan pada prosedur nilai prosedur terletak pada variabel. Sebuah prosedur dapat saja dijadikan fungsi. Kasus diatas dijadikan sebuah fungsi dengan tipe integer. Buat program dengan menggunakan fungsi persegi panjang dengan panjang sisi balok diinputkan melalui program. Output Menghitung Luas Permukaan Balok Input Panjang Alas :…. Input Lebar Alas :…. Input Tinggi Balok :… Luas Permukaan Balok Adalah :… Sisi2 Sisi1 Sisi3 Team Dosen Algoritma dan Struktur Data
  • 36. Algoritma dan Struktur Data I start pj,lb,tg,ls,sisi1,si si2,sisi3 Cetak Output Input pj,lb,tg Sisi1= Persegi_Panjang (pj,tg) Sisi2= Persegi_Panjang (lb,tg) Sisi3= Persegi_Panjang (lb,pj) Lper := 2*sisi1+2*sisi2+2*sisi3 Cetak LPer Stop Function persegi_panjang (panjang,lebar : integer):integer; Var luas : integer; Team Dosen Algoritma dan Struktur Data
  • 37. Algoritma dan Struktur Data I Begin Luas := panjang * lebar; Persegi_panjang :=luas; End; {program utama} var pj,lb,tg,ls,sisi1,sisi2,sisi3 :integer; Begin Clrscr; Gotoxy (…,…) ; write (‘Menghitung Luas Permukaan Balok’); Gotoxy (…,… ) ; write (‘Input Panjang Alas :…’); Gotoxy (…,… ) ; write (‘Input Lebar Alas :…’); Gotoxy (…,… ) ; write (‘Input Tinggi Balok :…’); Gotoxy (…,… ) ; write (‘Luas Permukaan Balok Adalah :…..’); Gotoxy (…,… ) ; readln ( pj ); Gotoxy (…,… ) ; readln ( lb ); Gotoxy (…,… ) ; readln ( tg ); Sisi1:=Persegipanjang(pj,tg); Sisi2:=Persegipanjang(lb,tg); Sisi3:=Persegipanjang(pj,lb,; Lper := 2*sisi1+2*sisi2+2*sisi3 Gotoxy (…,…) ; write (lper); Repeat until keypressed; End. Team Dosen Algoritma dan Struktur Data