• Tidak ada hasil yang ditemukan

Pertemuan 4 RUNTUNAN/SEKUENSIAL

N/A
N/A
Protected

Academic year: 2021

Membagikan "Pertemuan 4 RUNTUNAN/SEKUENSIAL"

Copied!
31
0
0

Teks penuh

(1)

Pertemuan 4 – RUNTUNAN/SEKUENSIAL

Jadwal: Selasa, 17/10/2017, 10:20-12.00 (2 sks) Dosen:

Condro Kartiko

ALGORITMA PEMROGRAMAN

(Semester 1 - IF6110202)

S1 Informatika IT Telkom Purwokerto

(2)

CAPAIAN PEMBELAJARAN UMUM

Setelah mengikuti mata kuliah Algoritma Pemrograman,

Mahasiswa S1 Sistem Informasimampu membuat algoritma

dalam bentuk pseudocode dan flowchart serta membangun

program untuk menyelesaikan permasalahan yang

sederhana/mudah

S1 Informatika IT Telkom Purwokerto

(3)

CAPAIAN PEMBELAJARAN KHUSUS

Setelah menyelesaikan pertemuan ke-4 ini diharapkan mahasiswa

mampu menerapkan algoritma runtunan (sequence) ke dalam

pseudocode dan program

S1 Informatika IT Telkom Purwokerto

(4)

CAPAIAN PEMBELAJARAN KHUSUS

S1 Informatika IT Telkom Purwokerto

(5)

PUSTAKA WAJIB

Munir, Rinaldi., Leony Lidya. 2016.

Algoritma

dan

Pemrograman

Dalam Bahasa Pascal, C, dan C++

Edisi Keenam

. Bandung: Penerbit

Informatika.

BAB

6

LEBIH

JAUH

DENGAN

RUNTUNAN

(6)

SUB POKOK BAHASAN

Pendahuluan

Persoalan Pertukaran

Menghitung Gaji Karyawan

Titik Tengah Dari Dua Buah Titik

Konversi Waktu ke Detik

Konversi Waktu ke Jam-Menit-Detik

Menghitung Durasi

Translasi Beberapa Algoritma ke Kode Program

Pascal, C, dan C++

(7)

PENDAHULUAN (1)

S1 Informatika

Runtunan adalah struktur algoritma paling dasar yang berisi

rangkaian instruksi

yang diproses secara

sekuensial

,

satu per satu

,

mulai dari instruksi pertama sampai instruksi terakhir

.

Tiap instruksi dikerjakan

satu per satu

.

Tiap instruksi dilaksanakan tepat sekali;

tidak ada instruksi yang

diulang

.

Urutan instruksi yang dilaksanakan pemroses

sama dengan

urutan instruksi sebagaimana yang tertulis di dalam teks

algoritmanya.

(8)

PENDAHULUAN (2)

S1 Informatika

Langkah-langkah yang dilakukan dalam algoritma diproses secara

berurutan

Langkah 1 Langkah 2 Langkah 3

(9)

PENGARUH URUTAN INSTRUKSI (1)

S1 Informatika

Urutan instruksi dalam algoritma adalah penting. Urutan

instruksi menunjukkan urutan logik penyelesaian masalah.

Urutan instruksi yang berbeda mungkin tidak ada pengaruh

terhadap solusi persoalan, tetapi mungkin juga menghasilkan

keluaran yang berbeda, tergantung pada masalahnya.

(10)

PENGARUH URUTAN INSTRUKSI (2)

S1 Informatika

Contoh urutan instruksi yang berbeda tetapi tidak mempengaruhi hasil.

Deklarasi :

A, B, C, D : integer

Deskripsi :

1. read (A, B) {1}

2. C

A + B {2}

3. D A * B {3}

4. write (C, D) {4}

Deklarasi :

A, B, C, D : integer

Deskripsi :

1. read (A, B)

2. D

A * B

3. C

A + B

4. write (C, D)

Dari kedua algoritma hasil C dan D adalah SAMA

(11)

PENGARUH URUTAN INSTRUKSI (3)

S1 Informatika

Contoh urutan instruksi yang berbeda tetapi mempengaruhi hasil.

Deklarasi :

A, B, C, D : integer

Deskripsi :

1. read (A, B) {1}

2. C

=

A + B {2}

3. D = A * B {3}

4. write (C, D) {4}

Deklarasi :

A, B, C, D : integer

Deskripsi :

1. D

=

A * B

2. C

=

A + B

3. read (A, B)

4. write (C, D)

Dari kedua algoritma hasil C dan D adalah BERBEDA

(12)

PERSOALAN PERTUKARAN (1)

S1 Informatika

Tuliskan algoritma untuk membaca dua buah nilai dengan peubah

(variabel) A dan B, kemudian value-nya ditukar value A menjadi B

dan value B menjadi A.

Penyelesaian:

Runtunan instruksinya adalah sebagai berikut:

C

A

{ tampung nilai A ke dalam nilai C }

A

B

{ nilai B dapat dimasukkan ke dalam A }

(13)

PERSOALAN PERTUKARAN (2)

S1 Informatika

PROGRAMPertukaran

{Mempertukarkan nilai A dan B}

DEKLARASI

A, B, C :integer ALGORITMA

{misalkan A diisi 8 dan B diisi 5}

A 8; B 5

write(A, B) { cetak nilai A dan B sebelum pertukaran } {pertukarkan nilai A dan B}

C A{ tampung nilai A ke dalam C}

A B{ nilai B dapat dimasukkan ke dalam A }

B C{ nilai B diisi dengan nilai A yang tersimpan di C }

(14)

PERSOALAN PERTUKARAN (3)

S1 Informatika

//PROGRAM Pertukaran

//Mempertukarkan nilai A dan B

#include <iostream> using namespace std; main() { //DEKLARASI int A, B, C; //ALGORITMA

//misalkan A diisi 8 dan B diisi 5

A = 8; B = 5;

//cetak nilai A dan B sebelum pertukaran cout << “Nilai A dan B sebelum pertukaran: \n”; cout << “A = ” << A << “\n”;

cout << “A = ” << B << “\n”; //pertukarkan nilai A dan B

C = A; //tampung nilai A ke dalam C

A = B; //nilai B dapat dimasukkan ke dalam A

B = C; //nilai B diisi dengan nilai A yang tersimpan di C //cetak nilai A dan B setelah pertukaran

cout << “Nilai A dan B setelah pertukaran: \n”; cout << “A = ” << A << endl;

cout << “B = ” << B << endl;

(15)

PERSOALAN PERTUKARAN (4)

S1 Informatika

PROGRAM Pertukaran

{Mempertukarkan nilai A dan B tanpa menggunakan variable tambahan}

DEKLARASI

A, B : integer ALGORITMA

{misalkan A diisi 8 dan B diisi 5}

A 8; B  5

write(A, B) { cetak nilai A dan B sebelum pertukaran }

A A+B { nilai A = 8 + 5 = 13, jadi nilai A adalah 13 }

B A-B { nilai B = 13 - 5 = 8, jadi nilai B adalah 8 }

A A-B { nilai A = 13 - 8 = 5, jadi nilai A adalah 5 }

write(A, B) { cetak nilai A dan B setelah pertukaran }

(16)

MENGHITUNG GAJI KARYAWAN (1)

S1 Informatika

Suatu perusahaan mempunyai

n

orang karyawan dengan asumsi

penggajian sebagai berikut:

1. Gaji setiap karyawan akan sama jumlahnya.

2. Gaji karyawan dihitung dengan cara gaji pokok ditambah tunjangan

dikurangi pajak.

3. Pajak yang berlaku di perusahaan tersebut adalah 15% dari gaji

pokok sebelum ditambah tunjangan.

4. Tunjangan yang didapat dari perusahaan adalah 20%.

5. Gaji pokok bisa berubah tergantung kebijakan perusahaan.

Hitung gaji bersih karyawan dan dicetak ke layar.

(17)

MENGHITUNG GAJI KARYAWAN (2)

S1 Informatika

PROGRAM GajiBersihKaryawan

{Menghitung gaji bersih karyawan. Data masukan adalah nama karyawan dan gaji pokok bulanannya. Gaji bersih = gaji pokok + tunjangan – pajak.

Tunjangan adalah 20% dari gaji pokok, sedangkan pajak adalah 15% dari gaji pokok. Luarannya adalah nama karyawan dan gaji bersihnya.}

DEKLARASI :

const PersenTunjangan = 0.2 { persentase tunjangan gaji }

const PersenPajak = 0.15 { persentase potongan pajak } NamaKaryawan : string

GajiPokok, tunjangan, pajak, GajiBersih : real DESKRIPSI :

read (NamaKaryawan, GajiPokok)

tunjanganPersenTunjangan*GajiPokok

pajakPersenPajak * (GajiPokok + tunjangan) GajiBersihGajiPokok + tunjangan - pajak

(18)

MENGHITUNG KOMISI SALESMAN (1)

S1 Informatika

Tulis algoritma untuk menghitung komisi yang diterima

salesman berdasarkan nilai penjualan yang dicapainya.

Salesman akan mendapat komisi sebesar 5 % dari hasil

penjualannya. Masukannya nama salesman dan hasil

penjualan kemudian tampilkan nama salesman dan

besarnya komisi yang diterimanya

(19)

MENGHITUNG KOMISI SALESMAN (2)

S1 Informatika

PROGRAM

Komisi_Salesmen

{di baca nama dan hasil penjualan salesman,

kemudian hitung besarnya komisi sebesar 5 % dari

hasil penjualan dan tampilkan nama dan komisinya

ke layar}

DEKLARASI :

nama :

string

NilaiPenjualan :

real

Komisi : real

DESKRIPSI :

read

(nama, NilaiPenjualan)

Komisi

0.05 * NilaiPenjualan

write

(nama, Komisi)

(20)

TITIK TENGAH DARI DUA BUAH TITIK (1)

(21)

TITIK TENGAH DARI DUA BUAH TITIK (2)

S1 Informatika

PROGRAM

TitikTengah

{dibaca titik P1, P2, tentukan titik tengahnya dan

tampilkan titik tengahnya ke layar}

DEKLARASI :

type

titik =

record

< x :

real

, y :

real

>

P1, P2, P3 : titik

DESKRIPSI :

read

(P1.x, P1.y)

{baca titik P1}

read

(P2.x, P2.y)

{baca titik P2}

P3.x

(P1.x + P2.x)/2

P3.y

(P1.y + P2.y)/2

write

(P3.x, P3.y)

(22)

KONVERSI WAKTU KE DETIK (1)

S1 Informatika

Tulis algoritma yang menerima data masukan berupa jam,

menit, dan detik, lalu menghitung total waktu dalam satuan

detik, dan menampilkan hasilnya ke layar.

Penyelesaian:

Seperti masalah menghitung titik-tengah dua buah titik, kita

menggunakan tipe terstruktur

Jam

type

Jam

:

record

<hh

:

integer

,

mm

:

integer

,

ss

:

integer

>

(23)

KONVERSI WAKTU KE DETIK (2)

S1 Informatika

PROGRAM Konversi_ke_detik

{di baca jam-menit-detik (jj:mm:d), konversikan ke dalam detik dan tampilkan ke layar}

DEKLARASI :

type Jam : record <hh : integer, {jam} mm : integer, {menit} ss : integer {detik} > J : Jam TotalDetik : integer DESKRIPSI : read (J.hh, J.mm, J.ss) TotalDetik  (J.hh*3600) + (J.mm*60) + J.ss write (TotalDetik)

(24)

KONVERSI WAKTU KE DETIK (3)

S1 Informatika

// PROGRAM Konversi_ke_detik

// Membaca waktu tempuh pelari marathon dalam jam, menit, detik, lalu mengkonversi waktu tempuh tersebut ke dalam detik. Hasil konversi ditampilkan ke layar.

#include <iostream> using namespace std; main()

{

// DEKLARASI //

typedef struct { long int hh; // jam

long int mm; // menit

long int ss; //detik

} Jam ; Jam J;

long int TotalDetik; //ALGORITMA:// cout << “Jam :” ; cin >> J.hh; cout << “Menit : ”; cin >> J.mm; cout << “Detik :”; cin >> J.ss; TotalDetik = (J.hh*3600) + (J.mm*60) + J.ss; cout << “Total detik =” << TotalDetik; }

(25)

KONVERSI WAKTU KE JAM-MENIT-DETIK (1)

S1 Informatika

Tulis algoritma untuk membaca waktu dalam detik, kemudian

konversikan waktu tersebut dalam jam-menit-detik.

Penyelesaian:

Diberikan total waktu dalam satuan detik, maka berapa jam,

berapa menit, dan berapa detikkah waktu tersebut? Sebagai

contoh, misalkan lama percakapan seseorang dengan ponsel

adalah 4000 detik, maka 4000 detik = 1 jam + 6 menit + 40

detik, ini diperoleh dengan perhitungan berikut:

4000

div

3600 = 1 (jam)

4000

mod

3600 = 400 (sisa detik)

400

div

60

= 6 (menit)

(26)

KONVERSI WAKTU KE JAM-MENIT-DETIK (2)

S1 Informatika

PROGRAMKonversi_detik_ke_JamMenitDetik

{dibaca total detik kemudian konversikan kedalam jam-menit-detik (jj:mm:dd), dan tampilkan ke layar}

DEKLARASI :

type Jam : record <hh : integer, {jam} mm : integer, {menit} yy : integer {detik} >

J : Jam

TotalDetik : integer

sisa : integer {peubah bantu untuk mencatat sisa detik}

DESKRIPSI :

read (TotalDetik)

J.hh TotalDetik div 3600 {mendapatkan jam}

sisa  TotalDetik mod 3600

J.mm  sisa div 60 {mendapatkan menit}

J.ss  sisa mod 60 {mendapatkan detik}

(27)

Selanjutnya Baca…

Munir, Rinaldi., Leony Lidya. 2016.

Algoritma

dan

Pemrograman

Dalam Bahasa Pascal, C, dan C++

Edisi Keenam

. Bandung: Penerbit

Informatika.

BAB 7 – PEMILIHAN

(28)

Tugas (1)

S1 Informatika

Petunjuk pengerjaan:

Kerjakan beberapa latihan soal di bawah ini, diketik dalam format PDF dan dikumpulkan via email ke condro.kartiko@ittelkom-pwt.ac.id paling lambat hari Rabu, tanggal 18 Oktober 2017 pukul 23:59 WIB. Format file dan subjek email: [ALPRO]S1IF05A Tugas3_NIM1_Nama1,NIM2_Nama2,NIM3_Nama3 1. [poin 10]Dibaca durasi waktu dalam detik. Tulislah algoritma untuk

mengkonversi durasi waktu tersebut ke dalam hari, jam, menit, detik.

2. [poin 10]Sebuah proyek dikerjakan selama x hari. Tulislah algoritma untuk mengkonversi berapa tahun, berapa bulan, dan berapa hari proyek tersebut dikerjakan. Asumsikan: 1 tahun = 365 hari, 1 bulan = 30 hari. Keluaran (tahun, bulan, hari) ditampilkan ke piranti keluaran.

(29)

Tugas (2)

S1 Informatika

3. [poin 10]Dibaca dua buah tanggal (dd:mm:yy). Tulislah algoritma untuk

menghitung berapa hari jarak kedua tanggal tersebut. Asumsikan: 1 tahun = 365 hari, 1 bulan = 30 hari. Luaran (tahun, bulan, hari) ditampilkan ke piranti keluaran.

4. [poin 10]Dibaca tiga buah bilangan bulat x, y, dan z. Tulislah algoritma untuk mempertukarkan tripel (x, y, z) menjadi (y, z, x).

5. [poin 10]Buatlah algoritma yang membaca nilai uang (rupiah) dalam kelipatan 25, lalu menentukan berapa nilai tukaran pecahan. Pecahan yang tersedia

adalah Rp1000, Rp500, Rp100, Rp50, dan Rp25. Sebagai contoh, uang senilai Rp2775 setara dengan 2 buah pecahan Rp1000 ditambah 7 buah pecahan Rp100 ditambah 1 buah pecahan Rp50 ditambah 1 buah pecahan Rp25.

6. [poin 10]Seekor semut menempuh perjalanan sejauh x cm. Tulislah algoritma untuk mengonversi jarak x ke dalam kilometre-meter-sentimeter. Ingat bahwa 1 m = 100 cm dan 1 km = 1000 m = 100.000 cm. Misal x = 261341 cm, ini

(30)

Tugas (3)

S1 Informatika

7. [poin 10]Tuliskan algoritma yang membaca panjang sebuah benda dalam satuan meter, lalu mengonversinya ke dalam satuan inchi, kaki, dan yard (1 inchi = 25.4 mm, 1 kaki = 30.48 cm, dan 1 yard = 0.9144 m).

8. [poin 10]Berat badan ideal ada hubungannya dengan tinggi badan

seseorang. Untuk menentukan berat badan ideal, tinggi badan dikurangi 100, lalu dikurangi lagi dengan 10% dari hasil pengurangan pertama. Tulislah algoritma yang membaca tinggi badan lalu menentukan berat badan yang ideal untuk tinggi tersebut.

9. [poin 20]Jumlah penduduk di suatu negara adalah jumlah kelahiran

ditambah jumlah yang berimigrasi ke negara tersebut lalu dikurangi dengan jumlah kematian dan jumlah yang bermigrasi ke negara lain. Tulislah

algoritma untuk menghitung jumlah penduduk di suatu negara pada tahun tertentu.

(31)

Referensi

Dokumen terkait

badan dan tinggi badan. b) Hasil perhitungan body massa index untuk mengetahui status gizi seseorang. c) Tinggi badan digunakan untuk perhitungan berat badan ideal. d) Membahas

Dengan mengetahui hal yang mempengaruhi tinggi dan berat badan ideal, siswa mampu mempraktikkan beberapa kegiatan kebugaran jasmani untuk mencapai kedua hal tersebut dengan

Tujuan penelitian ini adalah untuk merancang dan mengaplikasikan sistem pakar yang mampu menentukan status gizi menurut berat badan (BB), tinggi badan (TB), dan berat

Struktur penduduk didominasi oleh usia muda akibat dari tingginya tingkat kelahiran dan rendahnya tingkat kematian penduduk sehingga tingkat ketergantungan cukup

Faktor lain pada penelitian lainnya menunjukkan berat badan kelahiran, status asupan ASI, usia ibu, jumlah keluarga, status sosioekonomi, dan uru- tan kelahiran juga

berat badan saat ini dengan berat badan ideal berdasarkan tinggi badan yang diperoleh dari kurva CDC 2000, dibedakan menjadi dua yaitu malnutrisi jika status gizi &lt; 90 % dan

Tujuan penelitian ini adalah untuk merancang dan mengaplikasikan sistem pakar yang mampu menentukan status gizi menurut berat badan (BB), tinggi badan (TB), dan berat

Rumusan Masalah Bagaimana merancang sebuah sistem pakar pengontrolan berat badan ideal dengan berdasarkan Berat Badan terhadap Tinggi Badan BB/TB dan Standar Brocca, dengan demikian