ALGORITMA PEMROGRAMAN Semester 1 IS 6110202 Pertemuan 4

  • Slides: 40
Download presentation
ALGORITMA PEMROGRAMAN (Semester 1 - IS 6110202) Pertemuan 4 – RUNTUNAN/SEKUENSIAL Koordinator Mata Kuliah

ALGORITMA PEMROGRAMAN (Semester 1 - IS 6110202) Pertemuan 4 – RUNTUNAN/SEKUENSIAL Koordinator Mata Kuliah : Fathushahib, S. Kom. , M. Kom Tim Dosen: Yudha Saintika, S. T. , M. T. I S 1 Sistem Informasi IT Telkom Purwokerto

Review Tugas S 1 Sistem Informasi IT Telkom Purwokerto

Review Tugas S 1 Sistem Informasi IT Telkom Purwokerto

1 S 1 Sistem Informasi IT Telkom Purwokerto

1 S 1 Sistem Informasi IT Telkom Purwokerto

2 S 1 Sistem Informasi IT Telkom Purwokerto

2 S 1 Sistem Informasi IT Telkom Purwokerto

3 S 1 Sistem Informasi IT Telkom Purwokerto

3 S 1 Sistem Informasi IT Telkom Purwokerto

4, 5 S 1 Sistem Informasi IT Telkom Purwokerto

4, 5 S 1 Sistem Informasi IT Telkom Purwokerto

6 S 1 Sistem Informasi IT Telkom Purwokerto

6 S 1 Sistem Informasi IT Telkom Purwokerto

Sub-Capaian Pembelajaran MK Setelah menyelesaikan pertemuan ke-4 ini diharapkan mahasiswa mampu menerapkan algoritma runtunan

Sub-Capaian Pembelajaran MK Setelah menyelesaikan pertemuan ke-4 ini diharapkan mahasiswa mampu menerapkan algoritma runtunan (sequence) ke dalam pseudocode dan program S 1 Sistem Informasi IT Telkom Purwokerto

Peta Capaian Pembelajaran We Are Here !!! S 1 Sistem Informasi IT Telkom Purwokerto

Peta Capaian Pembelajaran We Are Here !!! S 1 Sistem Informasi IT Telkom Purwokerto

PUSTAKA WAJIB • Munir, Rinaldi. , Leony Lidya. 2016. Algoritma dan Pemrograman Dalam Bahasa

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

SUB POKOK BAHASAN • • Pendahuluan Persoalan Pertukaran Menghitung Gaji Karyawan Titik Tengah Dari

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++ S 1 Sistem Informasi IT Telkom Purwokerto

PENDAHULUAN (1) Runtunan adalah struktur algoritma paling dasar yang berisi rangkaian instruksi yang diproses

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. S 1 Sistem Informasi IT Telkom Purwokerto

PENDAHULUAN (2) Langkah-langkah yang dilakukan dalam algoritma diproses secara berurutan Langkah 1 Langkah 2

PENDAHULUAN (2) Langkah-langkah yang dilakukan dalam algoritma diproses secara berurutan Langkah 1 Langkah 2 Langkah 3 S 1 Sistem Informasi IT Telkom Purwokerto

PENGARUH URUTAN INSTRUKSI (1) • Urutan instruksi dalam algoritma adalah penting. Urutan instruksi menunjukkan

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. S 1 Sistem Informasi IT Telkom Purwokerto

PENGARUH URUTAN INSTRUKSI (2) Contoh urutan instruksi yang berbeda tetapi tidak mempengaruhi hasil. •

PENGARUH URUTAN INSTRUKSI (2) Contoh urutan instruksi yang berbeda tetapi tidak mempengaruhi hasil. • 1. 2. 3. 4. Deklarasi : A, B, C, D : integer Deskripsi : read (A, B) {1} C A + B {2} D A * B {3} write (C, D) {4} • 1. 2. 3. 4. Deklarasi : A, B, C, D : integer Deskripsi : read (A, B) D A*B C A+B write (C, D) Dari kedua algoritma hasil C dan D adalah SAMA S 1 Sistem Informasi IT Telkom Purwokerto

PENGARUH URUTAN INSTRUKSI (3) Contoh urutan instruksi yang berbeda tetapi mempengaruhi hasil. • 1.

PENGARUH URUTAN INSTRUKSI (3) Contoh urutan instruksi yang berbeda tetapi mempengaruhi hasil. • 1. 2. 3. 4. Deklarasi : A, B, C, D : integer Deskripsi : read (A, B) {1} C = A + B {2} D = A * B {3} write (C, D) {4} • 1. 2. 3. 4. Deklarasi : A, B, C, D : integer Deskripsi : D = A*B C = A+B read (A, B) write (C, D) Dari kedua algoritma hasil C dan D adalah BERBEDA S 1 Sistem Informasi IT Telkom Purwokerto

PERSOALAN PERTUKARAN (1) Tuliskan algoritma untuk membaca dua buah nilai dengan peubah (variabel) A

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 } S 1 Sistem Informasi IT Telkom Purwokerto

PERSOALAN PERTUKARAN (2) PROGRAM Pertukaran {Mempertukarkan nilai A dan B} DEKLARASI A, B, C

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 } S 1 Sistem Informasi IT Telkom Purwokerto

PERSOALAN PERTUKARAN (3) Translasi algoritma ke kode program C++ //PROGRAM Pertukaran //Mempertukarkan nilai A

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; S 1 Sistem Informasi IT Telkom Purwokerto

PERSOALAN PERTUKARAN (3) “Buatlah pseudocode untuk persoalan pertukaran tanpa menggunakan variabel tambahan!!” S 1

PERSOALAN PERTUKARAN (3) “Buatlah pseudocode untuk persoalan pertukaran tanpa menggunakan variabel tambahan!!” S 1 Sistem Informasi IT Telkom Purwokerto

PERSOALAN PERTUKARAN (4) Catatan : Tidak boleh menggunakan variabel tambahan PROGRAM Pertukaran {Mempertukarkan nilai

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 } S 1 Sistem Informasi IT Telkom Purwokerto

MENGHITUNG GAJI KARYAWAN (1) Suatu perusahaan mempunyai n orang karyawan dengan asumsi penggajian sebagai

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 dicetak ke layar. S 1 Sistem Informasi IT Telkom Purwokerto

MENGHITUNG GAJI KARYAWAN (2) PROGRAM Gaji. Bersih. Karyawan {Menghitung gaji bersih karyawan. Data masukan

MENGHITUNG GAJI KARYAWAN (2) PROGRAM Gaji. Bersih. Karyawan {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 Persen. Tunjangan = 0. 2 { persentase tunjangan gaji } const Persen. Pajak = 0. 15 { persentase potongan pajak } Nama. Karyawan : string Gaji. Pokok, tunjangan, pajak, Gaji. Bersih : real DESKRIPSI : read (Nama. Karyawan, Gaji. Pokok) tunjangan Persen. Tunjangan*Gaji. Pokok pajak Persen. Pajak * (Gaji. Pokok + tunjangan) Gaji. Bersih Gaji. Pokok + tunjangan - pajak write (Gaji. Bersih) S 1 Sistem Informasi IT Telkom Purwokerto

MENGHITUNG KOMISI SALESMAN (1) Tulis algoritma untuk menghitung komisi yang diterima salesman berdasarkan nilai

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

MENGHITUNG KOMISI SALESMAN (2) PROGRAM Komisi_Salesmen {di baca nama dan hasil penjualan salesman, kemudian

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 Nilai. Penjualan : real Komisi : real DESKRIPSI : read (nama, Nilai. Penjualan) Komisi 0. 05 * Nilai. Penjualan write (nama, Komisi) S 1 Sistem Informasi IT Telkom Purwokerto

TITIK TENGAH DARI DUA BUAH TITIK (1) S 1 Sistem Informasi IT Telkom Purwokerto

TITIK TENGAH DARI DUA BUAH TITIK (1) S 1 Sistem Informasi IT Telkom Purwokerto

TITIK TENGAH DARI DUA BUAH TITIK (2) PROGRAM Titik. Tengah {dibaca titik P 1,

TITIK TENGAH DARI DUA BUAH TITIK (2) PROGRAM Titik. Tengah {dibaca titik P 1, P 2, tentukan titik tengahnya dan tampilkan titik tengahnya ke layar} DEKLARASI : type titik = record< x : real, y : real > P 1, P 2, P 3 : titik DESKRIPSI : read (P 1. x, P 1. y) {baca titik P 1} read (P 2. x, P 2. y) {baca titik P 2} P 3. x (P 1. x + P 2. x)/2 P 3. y (P 1. y + P 2. y)/2 write (P 3. x, P 3. y) S 1 Sistem Informasi IT Telkom Purwokerto

KONVERSI WAKTU KE DETIK (1) Tulis algoritma yang menerima data masukan berupa jam, menit,

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

KONVERSI WAKTU KE DETIK (2) PROGRAM Konversi_ke_detik {di baca jam-menit-detik (jj: mm: d), konversikan

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 Total. Detik : integer DESKRIPSI : read (J. hh, J. mm, J. ss) Total. Detik (J. hh*3600) + (J. mm*60) + J. ss write (Total. Detik) S 1 Sistem Informasi IT Telkom Purwokerto

KONVERSI WAKTU KE DETIK (3) Translasi algoritma ke kode program C++ // PROGRAM Konversi_ke_detik

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; long int mm; long int ss; } Jam ; Jam J; long int Total. Detik; // jam // menit // detik // ALGORITMA: // cout << “Jam : ” ; cin >> J. hh; cout << “Menit : ”; cin >> J. mm; cout << “Detik : ”; cin >> J. ss; Total. Detik = (J. hh*3600) + (J. mm*60) + J. ss; cout << “Total detik =” << Total. Detik; S 1 Sistem Informasi IT Telkom Purwokerto

KONVERSI WAKTU KE JAM-MENIT-DETIK (1) Tulis algoritma untuk membaca waktu dalam detik, kemudian konversikan

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: S 1 Sistem Informasi IT Telkom Purwokerto

KONVERSI WAKTU KE JAM-MENIT-DETIK (1) 4000 div 3600 4000 mod 3600 400 div 60

KONVERSI WAKTU KE JAM-MENIT-DETIK (1) 4000 div 3600 4000 mod 3600 400 div 60 400 mod 60 = 1 (jam) = 400 (sisa detik) = 6 (menit) = 40 ( sisa detik) S 1 Sistem Informasi IT Telkom Purwokerto

KONVERSI WAKTU KE JAM-MENIT-DETIK (2) PROGRAM Konversi_detik_ke_Jam. Menit. Detik {dibaca total detik kemudian konversikan

KONVERSI WAKTU KE JAM-MENIT-DETIK (2) PROGRAM Konversi_detik_ke_Jam. Menit. Detik {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 Total. Detik : integer sisa : integer {peubah bantu untuk mencatat sisa detik} DESKRIPSI : read (Total. Detik) J. hh Total. Detik div 3600 {mendapatkan jam} sisa Total. Detik mod 3600 J. mm sisa div 60 {mendapatkan menit} J. ss sisa mod 60 {mendapatkan detik} write (J. hh, J. mm, J. ss) S 1 Sistem Informasi IT Telkom Purwokerto

Selanjutnya Baca… • Munir, Rinaldi. , Leony Lidya. 2016. Algoritma dan Pemrograman Dalam Bahasa

Selanjutnya Baca… • Munir, Rinaldi. , Leony Lidya. 2016. Algoritma dan Pemrograman Dalam Bahasa Pascal, C, dan C++ Edisi Keenam. Bandung: Penerbit Informatika. BAB 7 – PEMILIHAN S 1 Sistem Informasi IT Telkom Purwokerto

Latihan Soal Petunjuk pengerjaan: Kerjakan beberapa latihan soal di bawah ini!! 1. Dibaca dua

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 Rp 1000, Rp 500, Rp 100, Rp 50, dan Rp 25. Sebagai contoh, uang senilai Rp 2775 setara dengan 2 buah pecahan Rp 1000 ditambah 7 buah pecahan Rp 100 ditambah 1 buah pecahan Rp 50 ditambah 1 buah pecahan Rp 25. S 1 Sistem Informasi IT Telkom Purwokerto

Latihan Soal Petunjuk pengerjaan: Kerjakan beberapa latihan soal di bawah ini!! 3. Seekor semut

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-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. S 1 Sistem Informasi IT Telkom Purwokerto

Latihan Soal (1) S 1 Sistem Informasi IT Telkom Purwokerto

Latihan Soal (1) S 1 Sistem Informasi IT Telkom Purwokerto

Latihan Soal (2) S 1 Sistem Informasi IT Telkom Purwokerto

Latihan Soal (2) S 1 Sistem Informasi IT Telkom Purwokerto

Latihan Soal (3) S 1 Sistem Informasi IT Telkom Purwokerto

Latihan Soal (3) S 1 Sistem Informasi IT Telkom Purwokerto

S 1 Sistem Informasi IT Telkom Purwokerto

S 1 Sistem Informasi IT Telkom Purwokerto