Algoritma dan Struktur Data I

dokumen-dokumen yang mirip
PENYELEKSIAN KONDISI dengan IF

PEMILIHAN. Runtunan. Dian Palupi Rini, M.Kom

Program yang hanya berisi runtunan instruksi biasanya terdapat pada masalah sederhana Seringkali suatu instruksi hanya bisa dilakukan jika ia

Definisi Percabangan

Pendahuluan. Kuadran I (X>0, Y>0) Kuadran II (X<0, Y>0) Kuadran IV (X>0, Y<0) Kuadran III (X<0, Y<0)

Teknik Percabangan. Brigida Arie Minartiningtyas, M.Kom

PUTERA BATAM LOGIKA INFORMATIKA DAN ALGORITMA DAFTAR ISI. BAB IV : PEMILIHAN A. Pengertian

STRUKTUR DASAR ALGORITMA

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

CCH1A4 / Dasar Algoritma & Pemrogramanan

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

I. RUNTUNAN(SEQUENCE)

Algoritma dan Struktur Data

TPI4202 e-tp.ub.ac.id. Lecture 5

ALGORITMA DAN PEMROGRAMAN

ALGORITMA DAN STRUKTUR DATA 1

CCH1A4 / Dasar Algoritma & Pemrogramanan

Algoritma dan Struktur Data I Mia Fitriawati, S.Kom, M.Kom

Algoritma Pemrograman

Algoritma Pemrograman

Struktur Pengulangan

Algoritma Pemrograman

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

Brigida Arie Minartiningtyas, M.Kom

BAB I : PENGANTAR... 1 BAB II : DASAR-DASAR ALGORITMA... 7

Chapter 5 Choice. repeatedly if tanda 2 on label: lakukan proses potong 2 if tanda 3 on label: lakukan proses potong 3 until switched off program 5.

FUNGSI MINGGU KE: 4 TUJUAN: Mahasiswa dapat memahami definisi fungsi. Mahasiswa dapat mendefinisikan fungsi. Mahasiswa dapat menggunakan fungsi.

Algoritma Pemrograman

STRUKTUR KONTROL. IF kondisi THEN [blok] Statement ELSE [blok] Statement. IF kondisi THEN BEGIN END; IF kondisi THEN BEGIN IF kondisi THEN BEGIN

INSTRUKSI UTAMA. Instruksi Runtunan (Sequential), Instruksi Pemilihan (Selection) dan Instruksi Perulangan (Repetition)

ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN. Disusun Oleh : Sakina Mawardah Teknik Informatika. Dosen : Asep M. Yusuf, S.

BAB IV STRUKTUR RUNTUNAN DAN PERCABANGAN

Algoritma Pemrograman

Algoritma & Pemrograman

STRUKTUR DASAR ALGORITMA

V. STRUKTUR PEMILIHAN

TIPE, NAMA, DAN NILAI

Konstruksi Dasar Algoritma

Algoritma,Flowchart, Konsep

STRUKTUR DASAR ALGORITMA. Rio Widyatmoko,

Teori Algoritma. Jenis seleksi

Percabangan. Agus Priyanto, M.Kom

Algoritma dan Struktur Data

Teori Algoritma. Struktur Algoritma

Pertemuan 3 Penyeleksian Kondisi

Tinjau algoritma dibawah ini

LOOPING. Brigida Arie Minartiningtyas, M.Kom

Nama, Tipe, Ekspresi, dan Nilai

Minggu III STRUKTUR PEMILIHAN (KONTROL PROGRAM)

ALGORITMA & PEMROGRAMAN

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VI KOMPONEN KOMPONEN PEMROGRAMAN TERSTRUKTUR

Struktur Program. Rinta Kridalukmana

Algoritma Pemrograman

MODUL IV Analisis Kasus/Pemilihan

BAB 3 PENYELESAIAN KONDISI

Materi. Tipe, Variabel dan Operator Algoritma Pemrograman PENULISAN ALGORITMA PENULISAN ALGORITMA 15/03/2010 NAMA DAN EKSPRESI

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia

Prosedur dan Fungsi ALGORITMA DAN PEMROGRAMAN [IS ] Dosen: Yudha Saintika, S.T., M.T.I

Pertemuan 3 Penyeleksian Kondisi dan Perulangan

Nama : Aji Dulmajid Kelas : TI-B2. Algoritma dan Pascal. Kumpulan Script

Analisa Kasus Part 2. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

ALGORITMA, PEMROGRAMAN DAN BAGAN ALIR

Pertemuan 2. Statement IF

Bab 2 DASAR-DASAR ALGORITMA

ALGORITMA & FLOWCHART

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

LOGIKA ALGORITMA. Pertemuan 6. By: Augury

Algoritma dan Pemrograman

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

ALGORITMA PERULANGAN

Algoritma dan Struktur Data

SOAL PASCAL A. 1. Lengkapi Source Code Dibawah ini : {* Program Menghitung dengan Operator Matematika*}

Contoh dan Latihan Struktur Dasar Algoritma Agus Sumaryanto, S.Kom RUNTUNAN (sequence)

MODUL 3 ALGORITMA PEMROGRAMAN

Prosedur dan Fungsi. Kenapa Prosedur atau Fungsi?

Algoritma dan Pemrograman Bab IV Struktur Pemilihan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

MODUL. Operasi Kondisi. Modul Praktikum C++ Dasar Pemrograman Komputer JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

LAB SHEET PRAKTIK PEMROGRAMAN KOMPUTER

Bab 1 Algoritma dan Pemrograman Tersruktur

Modul Ke-1 Pertemuan ke-1 Deskripsi: Pemrosesan Sekuensial Larik Nama File: P01-XXX (XXX adalah 3 digit terakhir NPM)

Pertemuan Ke-5 Penyeleksian Kondisi. Rahmady Liyantanto. liyantanto.wordpress.com. S1 Teknik Informatika-Unijoyo

BAB I PENGENALAN STRUKTUR DATA DAN ALGORITMA

Procedure. Pertemuan 10 Algoritma Pemrograman

Soal hari Selasa (13/10) Latihan 7 AN

ALGORITMA (KOMPUTER) : ATURAN PENULISAN DAN STRUKTUR DASARNYA

Pemilihan. Overview. Tujuan. 1.1 Bentuk Umum IF dan Variasinya

MODUL I TIPE DATA, OPERATOR, KONDISI DAN PENGULANGAN

.::BAB II.::MENGENAL PASCAL

PRAKTIKUM 4 STATEMENT KENDALI

Tipe data dasar merupakan tipe data yang disediakan oleh kompailer, sehingga dapat langsung dipakai Dalam algoritma dan pemrograman yang termasuk dala

Kondisi Dan Keputusan. Agus Priyanto, M.Kom

PROSEDUR (Lanjutan) Parameter. Mahasiswa dapat memahami penggunaan prosedur dengan parameter. Mahasiswa dapat membuat prosedur dengan parameter.

Rekursif/ Iterasi/ Pengulangan

OPERASI SELEKSI PEMROGRAMAN C++

Transkripsi:

Algoritma dan Struktur Data I Mia Fitriawati, S.Kom, M.Kom Pemilihan Seringkali suatu instruksi hanya bisa dikerjakan jika ia memenuhi suatu persyaratan tertentu Komputer tidak lagi mengerjakan instruksi secara sekuensial, tetapi berdasarkan syarat yang dipenuhi Struktur Pemilihan memungkinkan kita melakukan aksi jika suatu syarat dipenuhi 1

Analisis Satu Kasus Notasi algoritmik untuk analisis satu kasus menggunakan bentuk berikut: if kondisi then aksi Pernyataan diatas berarti bahwa aksi hanya dilaksanakan bila kondisi bernilai benar (true) Bila kondisi bernilai salah (false) maka tidak ada aksi apapun yang dikerjakan Contoh1: Bilangan Genap PROGRAM Genap { Program untuk mencetak pesan bilangan genap jika sebuah bilangan bulat yang dibaca dari piranti masukan merupakan bilangan genap} x : integer read(x) if x mod 2 = 0 then write ( genap ) 2

Contoh2: Huruf Vokal PROGRAM Huruf_Vokal { Mencetak pesan huruf vokal bila sebuah karakter yang dibaca merupaka huruf hidup, asumsikan karakter yang dibaca adalah huruf kecil} c : char read(c) if (c= a ) or (c= i ) or (c= u ) or (c= e ) or (c= o ) then write ( huruf vokal ) Analisis Dua Kasus Notasi algoritmik untuk analisis dua kasus menggunakan bentuk berikut: if kondisi then aksi1 aksi2 Pernyataan diatas berarti bahwa aksi1 dilaksanakan bila kondisi bernilai benar (true), bila kondisi bernilai salah (false) maka aksi2 yang akan dikerjakan 3

Contoh1: Bilangan Genap/Ganjil PROGRAM GenapGanjil { Mencetak pesan genap jika sebuah bilangan bulat yang dibaca merupakan bilangan genap, atau ganjil jika bilangan tersebut ganjil} x : integer read(x) if x mod 2 = 0 then write ( genap ) write ( ganjil ) Contoh2: Bilangan Terbesar PROGRAM Maksimum { Menentukan bilangan terbesar dari dua buah bilangan bulat } A, B : integer read(a,b) if A > B then write ( Bilangan terbesar =, A) write ( Bilangan terbesar =, B) 4

Contoh3: Upah Karyawan PROGRAM Upah_Karyawan {Menentukan upah mingguan seorang karyawan. Masukan yang dibaca dari papan kunci adalah nama karyawan, dan jumlah jam kerja. Keluaran program adalah nama karyawan dan upahnya.} nama : string { nama karyawan } JJK : integer { Jumlah Jam Kerja } lembur : integer { jumlah jam lembur } upah : real { nama karyawan } Contoh3: Upah Karyawan (Ljt.) read(nama, JJK) if JJK 48 then upah JJK * 2000 lembur JJK - 48 upah 48 * 2000 + lembur * 3000 write (nama, upah) 5

Contoh4: Upah Karyawan 2 PROGRAM Upah_Karyawan {Menentukan upah mingguan seorang karyawan. Masukan yang dibaca dari papan kunci adalah nama karyawan, dan jumlah jam kerja. Keluaran program adalah nama karyawan dan upahnya.} const JamNormal = 48 { jumlah jam ker ja normal/minggu} const UpahPerJam = 2000 {upah per jam kerja normal} const UpahLembur = 3000 {upah lembur per jam} nama : string { nama karyawan } JJK : integer { Jumlah Jam Kerja } lembur : real { jumlah jam lembur } upah : real { upah karyawan } Contoh4: Upah Karyawan2 (Ljt.) read(nama, JJK) if JJK JamNormal then upah JJK * UpahPerJam lembur JJK - JamNormal upah 48 * UpahPerJam + lembur * UpahLembur write (nama, upah) 6

Contoh5: Tahun Kabisat PROGRAM TahunKabisat { Menentukan apakah suatu tahun adalah tahun kabisat atau bukan } thn : integer {tahun} read(thn) if (thn mod 4 = 0 and thn mod 100 0) or (thn mod 400 = 0) then write ( tahun kabisat ) write ( bukan tahun kabisat ) Analisis Tiga Kasus atau Lebih Notasi Algoritmik: if kondisi1 then aksi1 if kondisi2 then aksi2 if kondisi3 then aksi3 7

Contoh1: Jenis Bilangan Bulat PROGRAM JenisBilanganBulat { Menentukan jenis bilangan bulat: positif, negatif, atau nol } x : integer read(x) if x > 0 then write ( positif ) if x < 0 then write ( negatif ) write ( nol ) Contoh2 : Upah Per Golongan Algoritma menghitung upah karyawan berdasarkan golongannya: Golongan A, upah per jam Rp. 4000,- Golongan B, upah per jam Rp. 5000,- Golongan C, upah per jam Rp. 6000,- Golongan D, upah per jam Rp. 7000,- Kelebihan jam kerja dihitung lembur dengan upah lembur per jam sama untuk semua golongan Algoritma membaca nama karyawan dan jumlah jam kerjanya selama seminggu dan menghitung gaji mingguannya 8

Jawaban: Upah Per Golongan PROGRAM UpahKaryawanGolongan { Menentukan upah mingguan seorang karyawan. Masukan yang dibaca dari papan kunci adalah nama karyawan, golongan, dan jumlah jam kerja. Keluaran program adalah nama karyawan dan upahnya.} const JamNormal = 48 { jumlah jam ker ja normal/minggu} const UpahLembur = 3000 {upah lembur per jam} Nama : string { nama karyawan } gol : char { gol karyawan: A, B, C, atau D } JJK : integer { Jumlah Jam Kerja } JamLembur : integer { jumlah jam lembur } UpahPerJam : real { upah per jam } UpahTotal : real Jawaban: Upah Per Gol. (ljt.) read (Nama, gol, JJK) if gol = A then UpahPerJam 4000.0 if gol = B then UpahPerJam 5000.0 if gol = C then UpahPerJam 6000.0 if gol = D then UpahPerJam 7000.0 9

Jawaban: Upah Per Gol. (ljt.).. if JJK JamNormal then UpahTotal JJK * UpahPerJam JamLembur JJK JamNormal UpahTotal JamNormal*UpahPerJam + JamLembur*UpahLembur write (Nama, UpahTotal) Struktur CASE Untuk menyederhanakan analisis kasus untuk masalah dengan dua kasus atau lebih, dapat digunakan struktur CASE berikut ini: case ekspresi nilai1 : aksi1 nilai2 : aksi2 nilai3 : aksi3. nilai_n : aksi_n otherwise : aksi_x endcase 10

Contoh1: Bilangan Genap/Ganjil PROGRAM GenapGanjil { Mencetak pesan genap jika sebuah bilangan bulat yang dibaca merupakan bilangan genap, atau ganjil jika bilangan tersebut ganjil} x : integer read(x) case x mod 2 = 0 0 : write ( genap ) 1 : write ( ganjil ) endcase Contoh2 : Upah Per Golongan PROGRAM UpahKaryawanGolongan { Menentukan upah mingguan seorang karyawan. Masukan yang dibaca dari papan kunci adalah nama karyawan, golongan, dan jumlah jam kerja. Keluaran program adalah nama karyawan dan upahnya.} const JamNormal = 48 { jumlah jam ker ja normal/minggu} const UpahLembur = 3000 {upah lembur per jam} Nama : string { nama karyawan } gol : char { gol karyawan: A, B, C, atau D } JJK : integer { Jumlah Jam Kerja } JamLembur : integer { jumlah jam lembur } UpahPerJam : real { upah per jam } UpahTotal : real 11

Contoh2: Upah Per Gol. (ljt.) read (Nama, gol, JJK) case (gol) A : UpahPerJam 4000.0 B : UpahPerJam 5000.0 C : UpahPerJam 6000.0 D : UpahPerJam 7000.0 endcase Contoh2: Upah Per Gol. (ljt.).. if JJK JamNormal then UpahTotal JJK * UpahPerJam JamLembur JJK JamNormal UpahTotal JamNormal*UpahPerJam + JamLembur*UpahLembur read (Nama, UpahTotal) 12

Contoh3 : Pemilihan Menu PROGRAM EmpatPersegiPanjang { Menampilkan menu perhitungan empat persegi panjang, memilih menu dan melakukan proses perhitungan.} NomorMenu : integer panjang, lebar : real luas, keliling, diagonal : real Contoh3: Pemilihan Menu (ljt.) {cetak menu} write ( MENU EMPAT PERSEGI PANJANG ) write ( 1. Hitung luas ) write ( 2. Hitung keliling ) write ( 3. Hitung panjang diagonal ) write ( 4. Keluar program ) write ( Masukkan pilihan anda (1/2/3/4)? ) read (NomorMenu) 13

Contoh3: Pemilihan Menu (ljt.).. case NomorMenu 1 : read(panjang,lebar) luas panjang * lebar write (luas) 2 : read(panjang,lebar) keliling 2*panjang + 2*lebar write (keliling) 3 : read(panjang,lebar) diagonal sqrt(panjang*panjang + lebar*lebar) write (diagonal) 4 : write ( Keluar program.sampai jumpa ) endcase Contoh4 : Jumlah hari PROGRAM JumlahHari { Menentukan jumlah hari dalam satu bulan.} nomor_bulan : integer {1.. 12} tahun : integer { > 0} jumlah_hari : integer 14

Contoh4: Jumlah hari (ljt.) read(nomor_bulan, tahun) case nomor_bulan 1, 3, 5, 7, 8, 10, 12 : jumlah_hari 31 4, 6, 9, 11 : jumlah_hari 30 2 : if (tahun mod 4 = 0 and tahun mod 100 0) or (tahun mod 400 = 0) then jumlah_hari 29 jumlah_hari 28 endcase write (jumlah_hari) Latihan 1. Buatlah sebuah algoritma mencetak pesan bilangan genap kemudian kalikan bilangan tersebut dengan angka 2 jika bilangan bulat yang dimasukkan dari piranti masukan merupakan bilangan genap. 2. Buatlah sebuah algoritma mengenai nilai kelulusan mahasiswa. Menerima masukkan nama dan nilai mahasiswa, jika nilai tersebut sama dengan 60 maka mahasiwa tersebut dinyatakan lulus. Jika tidak maka dinyatakan tidak lulus. 3. Buatlah sebuah algoritma untuk membaca dua buah nilai integer, jika nilai pertama lebih besar atau sama dengan nilai kedua kerjakan nilai pertama/nilai kedua, jika nilai kedua lebih besar dari nilai pertama kerjakan nilai kedua/nilai pertama, tetapi jika nilai kedua = 0 maka tampilkan pesan error 4. Buatlah algoritma untuk membaca nomor 1-7 untuk menunjukkan hari. Tuliskan nama hari sesuai dengan nomor harinya. 15

16