Algortima Pemrograman I

Slides:



Advertisements
Presentasi serupa
PERCABANGAN # IF…THEN IF…THEN…ELSE SELECTION STIKOM
Advertisements

TUGAS Buatlah program menghitung luas persegi panjang!
Minggu V Gerlan A. Manu, ST.,MKom - Algoritma Pemrograman I 1.
Input dan output Data Dalam bahasa Pascal untuk keperluan input (membaca input) digunakan identifier standar READ atau READLN. ReadLn digunakan untuk.
Dasar Komputer & Pemrog 2 A minggu 4
MATERI 8 CHOICE / PILIHAN.
PERTEMUAN 6 Algoritma Presented by : Sity Aisyah, M.Kom
Algoritma dan Struktur Data
Struktur Perulangan Week 4 & 5.
Dasar-Dasar Komputer FKIP Prodi Matematika Univ. Muhammadiyah Gresik
PENYELEKSIAN KONDISI (PEMILIHAN)
Teknik Pemrograman (TEKPRO)
Variabel dan Ekspresi Struktur Percabangan dan Struktur Perulangan
Algoritma Dasar Dalam membuat suatu program komputer, menyusun algoritma adalah langkah pertama yang harus dilakukan Dalam membuat algoritma dapat digunakan.
Algoritma dan Struktur Data
Oleh Nila Feby Puspitasari
Struktur Kontrol: Keputusan
Instruksi Runtutan Instruksi Pemilihan dan Instruksi Perulangan dalam Pascal Minggu XII.
Algoritma dan Struktur Data
Dasar Pemrograman MODUL 05 RUNTUNAN (sequence).
2 JAM TEORI dan 1 jam praktek
Pemprograman Terstruktur 1
P R O C E D U R EP R O C E D U R EP R O C E D U R EP R O C E D U R E P R O C E D U R EP R O C E D U R EP R O C E D U R EP R O C E D U R E.
Algoritma dan Struktur Data
SELECTION STATEMEN KENDALI / PERCABANGAN
Pemrograman C++ Darpi Supriyanto, S.Si., M.Kom HP :
Latihan Pertemuan Operasi Store - Compute
Bab 3 algoritma dan flowchart
MODUL KE-9 PEMILIHAN.
PENEMU ALGORITMA Perangko dari Rusia pada Gambar di samping ini bergambar seorang pria dengan nama Muhammad ibn Mūsā al- Khwārizmī. Bagi kalian yang.
Percabangan Dosen Pengampu: M. Zidny Naf’an, M.Kom.
ALGORITMA PEMROGRAMAN 2A
Pertemuan 2.
STRUKTUR DASAR ALGORITMA
ALGORITMA & PEMROGRAMAN
Buatlah flowchart untuk pembagian 3 buah bilangan
STMIK AMIKOM PURWOKERTO
IF … THEN …, IF … THEN … ELSE … CASE … OF …
Variabel dan Ekspresi Struktur Percabangan dan Struktur Perulangan
Dasar-Dasar Pemrograman
Percabangan/Pemilihan (Branching/Selection)
Struktur Kendali Sri nurhayati, mt.
Ucu Nugraha, ST. Algoritma.
Algoritma Pemrograman
Flowchart.
Percabangan C++ Norma Amalia, ST., M.Eng.
Algoritma dan Pemrograman STRUKTUR PEMILIHAN (SELECTION) lanjutan
ALGORITMA DAN PEMROGRAMAN Struktur Algoritma
Latihan Pertemuan Operasi Input Output
Algoritma Percabangan
Dasar-Dasar Pemrograman
Dasar-dasar Pemrograman
Seleksi.
Seleksi Kondisi (Praktikum)
Pertemuan 2 Rismayuni.
Pemrograman Choice Ramos Somya, S.Kom., M.Cs..
PENYELEKSIAN KONDISI.
Algoritma & Pemrograman Struktur Keputusan
Latihan Soal Flowchart.
Dasar-Dasar Pemrograman
ALGORITMA & PEMROGRAMAN
Algoritma dan Struktur Data
PERTEMUAN III Menggunakan Pernyataan Bersyarat untuk Menyeleksi Kondisi Menggunakan Pernyataan Bersyarat untuk Menentukan Keputusan.
Chapter 5 : Perulangan (Repeatition)
Chapter 5-3 : Perulangan (Repeatition)
STRUKTUR DASAR ALGORITMA
Pengulangan FOR - DO Temu 9.
Pemilihan Dua Kasus, tiga kasus dan banyak kasus
Dasar-Dasar Pemrograman
ALGORITMA & PEMROGRAMAN 2B
Transcript presentasi:

Algortima Pemrograman I PERCABANGAN

Struktur Algoritma Percabangan Sebuah program tidak selamanya akan berjalan dengan mengikuti struktur berurutan, kadang perlu merubah urutan pelaksanaan program dan menghendaki agar pelaksanaan program meloncat ke baris tertentu. Peristiwa ini kadang disebut sebagai percabangan/pemilihan atau keputusan.

Pernyataan If .... Else Digunakan untuk menguji sebuah kondisi. Bentuk umum: If kondisi then Begin {pernyataan yang dijalankan jika kondisi terpenuhi} End Else {pernyataan yang dijalankan jika kondisi tidak terpenuhi} End;

Contoh: If (x > 0) then Writeln(‘x bilangan positif’); else Writeln(‘x bilangan negatif’); Program diatas tidak perlu menambahkan kata kunci begin dan end karena pernyataan yang dituliskan hanya satu baris saja. Jika tidak ingin mengerjakan sesuatu jika kondisi yang ditentukan tidak terpenuhi, dapat menyatakan if tanpa else. If (x<0) then x := -x;

Pernyataan If .... Else if Meletakkan pernyataan if lain setelah else. If (x > 0) then Writeln (‘x bilangan positif’); Else if (x < 0) then Writeln (‘x bilangan negatif’); Else Writeln (‘x adalah nol’);

Pernyataan case Digunakan untuk menyederhanakan konstruksi If ... Else if If (x = 0) then Writeln (‘x bernilai 0’); Else if (x = 1) then Writeln (‘x bernilai 1’); Else if (x = 2) then Writeln (‘x bernilai 2’); else Writeln (‘x tidak bernilai 0, 1 dan 2’); Dapat diganti menjadi lebih ringkas Case x of 0:=Writeln (‘x bernilai 0’); 1:=Writeln (‘x bernilai 1’); 2:=Writeln (‘x bernilai 2’); End;

Contoh soal

No.1 Tulislah algoritma dan program serta flowchart yang menampilkan ‘Genap’ jika suatu bilangan adalah bilangan genap atau ‘Ganjil’ jika bilangan adalah bilangan ganjil. Masukan: bilangan bulat yaitu x dimana 0 ≤𝑥≤ 65535 Keluaran: bilangan genap dan bilangan ganjil

No.2 Tulislah algoritma dan program serta flowchart jika sebuah aturan untuk menonton sebuah film tertentu adalah sebagai berikut, jika usia penonton lebih dari 17 tahun maka penonton diperbolehkan dan apabila kurang dari 17 tahun maka penonton tidak diperbolehkan nonton.

jawaban algoritma: menonton_film Nama algoritma Menonton_film Deklarasi Usia : real; Psn : String; Deskripsi Read (Usia) if Usia > 17 Psn “anda boleh menonton” else Psn “anda tidak boleh menonton” Write(‘Pesan’, Psn)

jawaban flowchart: menonton_film

No.3 Tulislah algoritma dan program serta flowchart jika dalam suatu perhitungan nilai P = X + Y. Jika P positif, maka Q = X * Y, sedangkan jika negative maka nilai Q = X/Y. Buatlah flowchart untuk mencari nilai P dan Q

jawaban algoritma: hitung_bilangan Nama algoritma Hitung_bilangan Deklarasi X, Y : real; P, Q : real; Deskripsi Read (X,Y) P  X + Y if P > 0 Q  X * Y else Q  X / Y Write(‘Nilai P’,P) Write(‘Nilai Q’, Q)

jawaban flowchart: hitung_bilangan

No.4 Tulislah algoritma dan program serta flowchart jika diketahui pegawai dengan masa kerja lebih dari 3 tahun mendapat tunjangan sebesar 20% gaji pokok sedang yang kurang dari itu mendapat tunjangan 10%. Input program adalah masa kerja dan gaji pokok.

Jawaban algoritma: gaji Nama Algoritma Gaji_pegawai Deklarasi Tjg, mk, gapok, gatot : double Deskripsi Read (mk, gapok ) If(mk>3) then tjg  0.2 * gapok Else tjf  0.1 * gapok Gatot  gapok + tjg Write(‘gaji total’,gatot )

Jawaban flowchart: gaji

No.5 Tulislah algoritma dan program serta flowchart yang meminta masukan dari pengguna. Jika memasukkan 0 program menampilkan Minggu, jika memasukkan 1 program menampilkan Senin, dan seterusnya sampai sabtu. Jika memasukkan nila diluar 0 sampai 6, program menuliskan hari tidak valid. Masukan: bilangan bulat yaitu x dimana 0 ≤𝑥≤255 Keluaran: Minggu, Senin ... Sabtu dan hari tidak valid.

No.6  persamaan Kuadrat Tulislah algoritma dan program serta flowchart untuk menghitung akar persamaan kuadrat: 𝑎 𝑥 2 +𝑏𝑥+𝑐=0 Masukan: bilangan real yaitu a, b dan c Keluaran: akar-akar persamaan kuadrat. Rumus pencarian akar kuadrat: 𝑥 1,2 = −𝑏 ± 𝑏 2 −4𝑎𝑐 2𝑎 Nilai 𝑏 2 −4𝑎𝑐 disebut diskriminan (=D)

No.7  Tahun Kabisat Tulislah algoritma dan program serta flowchart untuk mengecek suatu tahun merupakan tahun kabisat atau bukan. Masukan: bilangan bulat dimana 0 ≤𝑡𝑎ℎ𝑢𝑛≤255 Keluaran: Tahun Kabisat dan Tahun bukan kabisat.

No.8 Buatlah algoritma dan program serta flowchart untuk menghitung umur anda dengan memasukkan tahun sekarang. Hasil penghitungan adalah apakah tahun lahir tahun kabisat atau tidak Umur anda dalam hitungan jam

Jawaban soal: tahun kabisat Nama Algoritma Tahun_kabisat Deklarasi Tahun_sekarang : int; Tahun_lahir : int; Hitung_umur_tahun : int Hitung_umur_jam : int Kata : String Deskripsi Read (tahun_sekarang,tahun_lahir) Hitung_umur_tahun  tahun_sekarang – tahun_lahir Hitung_umur_jam  hitung_umur_tahun * 8760 If((tahun_sekarang % 400 ==0) ||((tahun_sekarang % 4 == 0) && (tahun_sekarang %100 != 0)) ) kata  tahun kabisat Else kata  tidak tahun kabisat Write (hitung_umur_jam, kata) a01TahunKabisatSimple.java

Jawaban flowchart: tahun kabisat

No.9 FORM BELI BARANG Kode Barang Jumlah Beli Harga Barang Jumlah Harga Total Bayar Buatlah algoritma dan program serta flowchart jika beli produk >=3, maka diskon 5%

Jawaban algoritma: form Nama program Pembelian_barang Deklarasi Kodebarang, jml_beli : int; Hargasatuan,jml_harga,pot,bayar : double; Deskripsi read (kodebarang,hargasatuan,jml_beli) Jml_harga = hargasatuan * jml_beli; If jml_beli >=3 Pot = 0.5; Else Pot = 0; Bayar = (Jml_harga) – (Jml_harga* pot); Write(‘Jumlah Harga’, Jml_harga ) Write(‘Potongan’,pot) Write (‘bayar’, bayar);

Pseudo code Jml_harga = harga * jml_beli; If jml_beli >=3 then begin diskon = 0.5; end Else diskon = 0; End; Bayar = (Jml_harga) – (Jml_harga* diskon); Writeln(‘Jumlah Harga’, Jml_harga ); Writeln (‘Total bayar’, bayar); Readln; End. Program Pembelian_barang; Var Kode, jml_beli : int; Harga,jml_harga: double; diskon : double; Begin write ( ‘ Kode Barang : ‘); readln(Kode); write (‘ Jumlah beli : ‘); readln (jml_beli); write (‘Harga satuan: ‘); readln(harga);

Percabangan bersarang

Contoh 10: Sebuah usaha fotokopi mempunyai aturan sebagai berikut : jika yang fotokopi statusnya adalah langganan, maka berapa lembar pun dia fotokopi, harga perlembarnya Rp. 75,- jika yang fotokopi bukan langganan, maka jika dia fotokopi kurang dari 100 lembar harga perlembarnya Rp. 100,-. Sedangkan jika lebih atau sama dengan 100 lembar maka harga perlembarnya Rp. 85,-.

Algoritma Masukkan Status customer dan jumlah lembar Jika status=’pelanggan’ harga perlembarnya Rp. 75,- Jika status=’bukan pelanggan’ , jika dia fotokopi < 100 harga perlembarnya Rp. 100,-. Sedangkan jika >= 100 maka harga=Rp. 85,-. Total bayar  jumlah lembar * harga Tulis Total Bayar

Pseudo code Program Biaya Cetak; Var Status: string; Harga, Total: double; Jumlah: integer; Begin Write(‘Masukkan Status Customer=’); Readln(status); Write(‘Masukkan jumlah lembar=’); Readln(jumlah); If (status=’pelanggan’) then begin Harga:=75; end Else begin If (jumlah < 100) then Harga:= 100; end Else Begin Harga :=85; End; Total :=Jumlah * Harga; Writeln(‘ Total Bayar adalah= ‘, Total); Readln; End.

jawaban algoritma: percabangan bersarang Nama algoritma Biaya_fotokopi Deklarasi Status : String; JLF : int; HPP, TH : real; Deskripsi Read (Status,JLF) if Status==“langganan” HPP  75 else if JLF < 100 HPP  100 HPP  85 TH  JLF * HPP Write (‘Total Harga’, TH)

jawaban flowchart: percabangan

Contoh 11: Aturan kelulusan siswa pada mata pelajaran Pemrograman Web diterapkan sebagai berikut : Jika nilai ujian tengah semester (UTS) lebih besar dari 70 maka siswa dinyatakan lulus dan Nilai Akhir sama dengan nilai UTS. Jika nilai UTS kurang atau sama dengan 70 maka siswa dinyatakan lulus jika Nilai Akhir lebih besar atau sama dengan 60 dimana Nilai Akhir = (nilai UTS x 40%) + (nilai UAS x 60%).

Jawaban algoritma: lulus Nama algoritma Kelulusan_siswa Deklarasi nim,nama,status : String; NUTS,NUAS,NA : real; Deskripsi Read (nim,nama,status,NUTS,NUAS) if NUTS > 70 NA  NUTS; status  “lulus” else NA  (NUTS * 0.4) + (NUAS * 0.6) if NA >= 60 status  “tidak lulus” Write (‘Nim, Nama, NA, Status’, nim,nama,NA,status)

Jawaban flowchart: lulus