Kuliah Pemrograman Komputer Tm5

12
JURUSAN TEKNIK ELEKTRO FTI-ITS 2008 KULIAH PEMROGRAMAN KOMPUTER Tatap Muka V & VI

description

Kuliah Pemrograman Komputer Tm5

Transcript of Kuliah Pemrograman Komputer Tm5

  • 5/19/2018 Kuliah Pemrograman Komputer Tm5

    1/12

    JURUSAN TEKNIK ELEKTRO

    FTI-ITS

    2008

    KULIAH PEMROGRAMAN KOMPUTER

    Tatap Muka V & VI

  • 5/19/2018 Kuliah Pemrograman Komputer Tm5

    2/12

    Kontrol pengulangan perintah

    Proses yang dikerjakan mungkin harusdiulangi beberapa kali berdasarkan

    hitungan ataupun syarat yang harus

    dipenuhi. Kontrol perulangan berdasarkan hitungan

    diperlukan untuk melakukan proses yang

    mempunyai urutan. Kontrol perulangan bersyarat diperlukan

    untuk melakukan proses dengan prinsip

    pendekatan.

  • 5/19/2018 Kuliah Pemrograman Komputer Tm5

    3/12

    1. Perulangan dengan hitungan

    Diberikan dengan bentuktraversal from to/downto

    end-traversal

    adalah variabel bertipe urutan

    dan adalah suatu konstanta atauoperasi bertipe urutan.

    Tipe urutan : integer, char, enumerasi, boolean

    Kata to dipakai bila diinginkan isi dari berurutan

    naik dari s/d

    Kata downto dipakai bila diinginkan isi dari berurutan turun dari s/d

  • 5/19/2018 Kuliah Pemrograman Komputer Tm5

    4/12

    Perulangan dengan urutan (lanj)

    Contoh :

    Bila X diinputkan 6 (genap), maka : X - (X + 1) mod 2 menghasilkan 5

    Bila X diinputkan 5 (ganjil), maka : X - (X + 1) mod 2 menghasilkan 5

    Sehingga output program menjadi : 7 9 11 13 15

    Program mencetak_5_bilangan_ganjil_berurutanDeskripsi mencetak 5 bilangan ganjil pertama yang lebih besar

    dari bilangan yang diinputkanKamus X,Y : integer

    AlgoritmaInput(X)X X - (X + 1) mod 2 {Buat X sebagai bil ganjil}Traversal Y from 1 to 5 {isi Y mulai dari 1 s/d 5}

    output(X + y * 2)End-traversal {di titik ini bila isi Y

  • 5/19/2018 Kuliah Pemrograman Komputer Tm5

    5/12

    Perulangan dengan urutan (lanj)

    Contoh :

    Bila X diinputkan 20 (genap), maka : X + (X + 1) mod 2 menghasilkan 21

    Bila X diinputkan 21 (ganjil), maka : X + (X + 1) mod 2 menghasilkan 21

    Sehingga output program menjadi : 11 13 15 17 19

    Program mencetak_5_bilangan_ganjil_berurutanDeskripsi mencetak 5 bilangan ganjil terdekat dan lebih

    kecil dari bilangan yang diinputkanKamus X,Y : integer

    AlgoritmaInput(X)X X + (X + 1) mod 2 {Buat X sebagai bil ganjil}Traversal Y from 5 downto 1 {isi Y mulai dari 5 s/d 1}

    output(X - Y * 2)End-traversal {di titik ini bila isi Y > 1, maka otomatis}

    {diturunkan dan pelaksanaan perintah diulangi}

  • 5/19/2018 Kuliah Pemrograman Komputer Tm5

    6/12

    Perulangan dengan urutan (lanj)

    Contoh :

    Bila X diinputkan 20

    Maka output program menjadi : 1 2 4 5 10 20

    Program mencetak_daftar_faktor_bilangan_XDeskripsi mencetak semua faktor dari bilangan yang diinputkanKamus X,Y : integer

    Algoritma

    Input(X)Traversal Y from 1 to X {isi Y mulai dari 1 s/d X}if(X mod Y = 0) thenoutput(Y)

    endifEnd-traversal {di titik ini bila isi Y < X, maka otomatis}

    {dinaikkan dan pelaksanaan perintah diulangi}

  • 5/19/2018 Kuliah Pemrograman Komputer Tm5

    7/12

    2. Perulangan dengan syarat

    a. Syarat diperiksa di awal :while do

    end while

    b. Syarat diperiksa di akhir :

    Repeat

    Until

    c. Syarat diperiksa di tengah :

    Iterate

    Stop

    End iterate

  • 5/19/2018 Kuliah Pemrograman Komputer Tm5

    8/12

    Perulangan bersyarat diperiksa di awal :

    Hanya bila syarat berharga BENAR maka perintah akan dikerjakan,

    lalu syarat dievaluasi kembali sampai akhirnya berharga SALAH.

    Dan program akan berlanjut ke perintah setelah end-while. Harap

    perhatikan agar syarat harus bisa berubah harga menjadi SALAH.

    Contoh:

    Program Teks_lagu_anak_ayam

    Deskripsicetak teks lagu kotek-kotekKamus jmlayam : integerAlgoritmaInput(jmlayam)While(jmlayam>0)do {Kalau 0, maka tidak usah dilakukan sama sekali. Kasus kosong}

    Output(Anak ayam turun ,jmlayam, mati 1 tinggal ,jmlayam 1)Jmlayam jmlayam 1

    End-while {jmlayam 0 }

    Perintah ini memastikan syarat (jmlayam>0)

    akhirnya akan berharga SALAH

  • 5/19/2018 Kuliah Pemrograman Komputer Tm5

    9/12

    Perulangan bersyarat diperiksa di akhir :

    Perintah dikerjakan terlebih dahulu, lalu syarat dievaluasi. Hanya bila

    syarat berharga SALAH maka perintah akan diulangi sampaiakhirnya berharga BENAR. Dan program akan berlanjut ke perintah

    setelah until.

    Harap perhatikan agar syarat harus bisa berubah harga menjadi

    BENAR. Contoh:

    Program Memastikan_input_bulan_validDeskripsi mengambil input bilangan bulan sampai benarKamus bulan : integerAlgoritmarepeatInput(bulan)

    Until((bulan>0) and (bulan

  • 5/19/2018 Kuliah Pemrograman Komputer Tm5

    10/12

    Perulangan bersyarat diperiksa di tengah:Perintah1 dikerjakan terlebih dahulu, lalu syarat dievaluasi. Hanya bila syarat

    berharga SALAH maka perintah2 akan dijalankan dan kemudian kembali

    menjalankan perintah1 sampai akhirnya syarat berharga BENAR. Lalu kontrolperintah ini akan diakhiri. Dan program akan berlanjut ke perintah setelah

    end-iterate.

    Harap perhatikan agar syarat harus bisa berubah harga menjadi BENAR.

    Contoh:

    Program Mencari_berat_rata-rata_karung

    Deskripsi menghitung berat rata2 karung yang diinputkan. Akhiri dengan 0Kamus Jumlahberat, Jumlahkarung, berat : realAlgoritma

    Jumlahberat 0Jumlahkarung 0IterateInput(berat)

    Stop(berat=0)Jumlahkarung Jumlahkarung + 1Jumlahberat Jumlahberat + berat

    End-iterate {berat = 0}If(jumlahkarung>0)thenOutput(Rata-rata berat karung : ,jumlahberat / jumlahkarung)

    Else

    Output(Tidak ada karung yang ditimbang)End-if

    Perintah ini memastikan akhirnya syarat

    akan berharga BENAR

  • 5/19/2018 Kuliah Pemrograman Komputer Tm5

    11/12

    Pilih letak evaluasi syarat yang tepatDengan letak evaluasi syarat yang benar, maka akan dapat dihindari kasus yangmenjadi anomali dari syarat yang diberikan.

    Contoh : kita kutip dari program sebelumnya (while do end-while)AlgoritmaInput(jmlayam)While(jmlayam>0)do {Kalau 0, maka tidak usah dilakukan sama sekali. Kasus kosong}

    Output(Anak ayam turun ,jmlayam, mati 1 tinggal ,jmlayam 1)Jmlayam jmlayam 1

    End-while {jmlayam 0 }

    Bila input 0 diberikan maka akan menghasilkan anomali output sbb. :

    Anak ayam turun 0 mati 1 tinggal 1

    AlgoritmaInput(jmlayam)Repeat {Struktur kontrol ini tidak memperhatikan kemungkinan kasus kosong}Output(Anak ayam turun ,jmlayam, mati 1 tinggal ,jmlayam 1)Jmlayam jmlayam 1

    Until(jmlayam0)

    Menjadi :

  • 5/19/2018 Kuliah Pemrograman Komputer Tm5

    12/12

    Latihan

    1. Buat program untuk mencetak nbilangan dari deret :

    (Traversal... end-traversal)a. 1 2 4 8 16 . . .

    b. 1 3 6 10 15 21 28 . . .

    c. 1 1 2 3 5 8 13 21 . . .

    2. Buat program untuk memastikan tanggal, bulan dan tahun yangdiinputkan adalah benar. (Repeat until)

    3. Buat program untuk menentukan kelipatan persekutuan terkecil(KPK) dari dua bilangan yang diinputkan. (While do end-

    while)

    4. Buat program untuk menentukan faktor perskutuan terbesar(FPB) dari dua bilangan yang diinputkan. (Iterate stopend-iterate)

    5. Buat program untuk menentukan tanggal, bulan dan tahun yangdiinputkan dan dianggap benar adalah hari ke berapa pada tahun

    tsb. (Apa yang cocok?)