Anda di halaman 1dari 40

ALGORITMA PEMROGRAMAN

(Semester 1 - IS6110202)
Pertemuan 4 – RUNTUNAN/SEKUENSIAL

Koordinator Mata Kuliah :


Fathushahib, S.Kom., M.Kom
Tim Dosen:
Yudha Saintika, S.T., M.T.I

S1 Sistem Informasi
IT Telkom Purwokerto
Review Tugas

S1 Sistem Informasi
IT Telkom Purwokerto
1

S1 Sistem Informasi
IT Telkom Purwokerto
2

S1 Sistem Informasi
IT Telkom Purwokerto
3

S1 Sistem Informasi
IT Telkom Purwokerto
4, 5

S1 Sistem Informasi
IT Telkom Purwokerto
6

S1 Sistem Informasi
IT Telkom Purwokerto
Sub-Capaian Pembelajaran MK

Setelah menyelesaikan pertemuan ke-4 ini diharapkan mahasiswa


mampu menerapkan algoritma runtunan (sequence) ke dalam
pseudocode dan program

S1 Sistem Informasi
IT Telkom Purwokerto
Peta Capaian Pembelajaran

We Are Here !!! 

S1 Sistem Informasi
IT Telkom Purwokerto
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

S1 Sistem Informasi
IT Telkom Purwokerto
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
• Translasi Beberapa Algoritma ke Kode Program
Pascal, C, dan C++

S1 Sistem Informasi
IT Telkom Purwokerto
PENDAHULUAN (1)
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.
• Akhir instruksi merupakan akhir algoritma.

S1 Sistem Informasi
IT Telkom Purwokerto
PENDAHULUAN (2)

Langkah-langkah yang dilakukan dalam algoritma diproses secara


berurutan

Langkah 1

Langkah 2

Langkah 3

S1 Sistem Informasi
IT Telkom Purwokerto
PENGARUH URUTAN INSTRUKSI (1)

• 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.

S1 Sistem Informasi
IT Telkom Purwokerto
PENGARUH URUTAN INSTRUKSI (2)
Contoh urutan instruksi yang berbeda tetapi tidak mempengaruhi hasil.

• Deklarasi : • Deklarasi :
A, B, C, D : integer A, B, C, D : integer
Deskripsi : Deskripsi :
1. read (A, B) {1} 1. read (A, B)
2. C A + B {2} 2. D A*B
3. D A * B {3} 3. C A+B
4. write (C, D) {4} 4. write (C, D)

Dari kedua algoritma hasil C dan D adalah


SAMA S1 Sistem Informasi
IT Telkom Purwokerto
PENGARUH URUTAN INSTRUKSI (3)
Contoh urutan instruksi yang berbeda tetapi mempengaruhi hasil.

• Deklarasi : • Deklarasi :
A, B, C, D : integer A, B, C, D : integer
Deskripsi : Deskripsi :
1. read (A, B) {1} 1. D = A*B
2. C = A + B {2} 2. C = A+B
3. D = A * B {3} 3. read (A, B)
4. write (C, D) {4} 4. write (C, D)

Dari kedua algoritma hasil C dan D adalah


BERBEDA S1 Sistem Informasi
IT Telkom Purwokerto
PERSOALAN PERTUKARAN (1)
Tuliskan algoritma untuk membaca dua buah nilai dengan peubah
(variabel) A dan B, kemudian nilainya ditukar nilai A menjadi B dan
nilai 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 }
B  C { nilai B diisi dengan nilai A yang tersimpan di C }

S1 Sistem Informasi
IT Telkom Purwokerto
PERSOALAN PERTUKARAN (2)
PROGRAM Pertukaran
{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 }

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


S1 Sistem Informasi
IT Telkom Purwokerto
PERSOALAN PERTUKARAN (3)
Translasi algoritma ke kode program C++
//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; S1 Sistem Informasi
} IT Telkom Purwokerto
PERSOALAN PERTUKARAN (3)

“Buatlah pseudocode untuk persoalan


pertukaran tanpa menggunakan variabel
tambahan!!”

S1 Sistem Informasi
IT Telkom Purwokerto
PERSOALAN PERTUKARAN (4)
Catatan : Tidak boleh menggunakan variabel tambahan
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 }


S1 Sistem Informasi
IT Telkom Purwokerto
MENGHITUNG GAJI KARYAWAN (1)
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 setelah 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.

S1 Sistem Informasi
IT Telkom Purwokerto
MENGHITUNG GAJI KARYAWAN (2)
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)
tunjangan  PersenTunjangan*GajiPokok
pajak  PersenPajak * (GajiPokok + tunjangan)
GajiBersih  GajiPokok + tunjangan - pajak
write (GajiBersih)
S1 Sistem Informasi
IT Telkom Purwokerto
MENGHITUNG KOMISI SALESMAN (1)

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

S1 Sistem Informasi
IT Telkom Purwokerto
MENGHITUNG KOMISI SALESMAN (2)
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)
S1 Sistem Informasi
IT Telkom Purwokerto
TITIK TENGAH DARI DUA BUAH TITIK (1)
Tulis algoritma untuk membaca dua buah titik P1 dan P2,
tentukan titik tengah dari kedua titik tersebut

Penyelesaian:
Titik tengah dari dua buah titik P1 dan P2 adalah P3 = (x3, y3)
yang dihitung dengan rumus:

𝑥1 + 𝑥2 𝑦1 + 𝑦2
𝑥3 = dan 𝑦3 =
2 2

S1 Sistem Informasi
IT Telkom Purwokerto
TITIK TENGAH DARI DUA BUAH TITIK (2)
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)

S1 Sistem Informasi
IT Telkom Purwokerto
KONVERSI WAKTU KE DETIK (1)
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

hh mm ss
type Jam : record <hh : integer,
mm : integer,
ss : integer
>
S1 Sistem Informasi
IT Telkom Purwokerto
KONVERSI WAKTU KE DETIK (2)
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)

S1 Sistem Informasi
IT Telkom Purwokerto
KONVERSI WAKTU KE DETIK (3)
Translasi algoritma ke kode program C++
// 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;
}
S1 Sistem Informasi
IT Telkom Purwokerto
KONVERSI WAKTU KE JAM-MENIT-DETIK (1)
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:

S1 Sistem Informasi
IT Telkom Purwokerto
KONVERSI WAKTU KE JAM-MENIT-DETIK (1)

4000 div 3600 = 1 (jam)


4000 mod 3600 = 400 (sisa detik)
400 div 60 = 6 (menit)
400 mod 60 = 40 ( sisa detik)

S1 Sistem Informasi
IT Telkom Purwokerto
KONVERSI WAKTU KE JAM-MENIT-DETIK (2)
PROGRAM Konversi_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}
write (J.hh, J.mm, J.ss)
S1 Sistem Informasi
IT Telkom Purwokerto
Selanjutnya Baca…

• Munir, Rinaldi., Leony Lidya. 2016.


Algoritma dan Pemrograman
Dalam Bahasa Pascal, C, dan C++
Edisi Keenam. Bandung: Penerbit
Informatika.

BAB 7 – PEMILIHAN

S1 Sistem Informasi
IT Telkom Purwokerto
Latihan Soal
Petunjuk pengerjaan:
Kerjakan beberapa latihan soal di bawah ini!!

1. 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.

2. 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.

S1 Sistem Informasi
IT Telkom Purwokerto
Latihan Soal
Petunjuk pengerjaan:
Kerjakan beberapa latihan soal di bawah ini!!

3. Seekor semut menempuh perjalanan sejauh x cm. Tulislah algoritma


untuk mengonversi jarak x ke dalam kilometer-meter-sentimeter. Ingat
bahwa 1 m = 100 cm dan 1 km = 1000 m = 100.000 cm. Misal x = 261341
cm, ini berarti semut menempuh jarak sejauh 2 km + 610 m + 341 cm.

S1 Sistem Informasi
IT Telkom Purwokerto
Latihan Soal (1)

S1 Sistem Informasi
IT Telkom Purwokerto
Latihan Soal (2)

S1 Sistem Informasi
IT Telkom Purwokerto
Latihan Soal (3)

S1 Sistem Informasi
IT Telkom Purwokerto
S1 Sistem Informasi
IT Telkom Purwokerto

Anda mungkin juga menyukai