Pertemuan 4 RUNTUNAN/SEKUENSIAL

dokumen-dokumen yang mirip
Struktur Teks Pseudo-code

Nama, Tipe, Ekspresi, dan Nilai

Pertemuan 5 PEMILIHAN/PERCABANGAN

STRUKTUR DASAR PEMROGRAMAN

TIPE, NAMA, DAN NILAI

Algoritma Pemrograman

Algoritma Pemrograman

Pertemuan Ke-3 (Tipe Data dan Nama) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

PUTERA BATAM LOGIKA INFORMATIKA DAN ALGORITMA

StrukturDasarProgram Prosedural (dalambahasac++)

Algoritma Pemrograman

Algoritma Pemrograman

Dasar Komputer dan Pemrograman. Konsep Tipe Data dan Operator Nama dan Nilai Data

LATIHAN SOAL (FUNGSI & PROSEDUR)

REVIEW ARRAY. Institut Teknologi Sumatera

ARRAY PENGANTAR PROGRAM STUDI. Institut Teknologi Sumatera

STRUKTUR DATA. Pengajar. Jaidan Jauhari, M.T. Alamat

ALGORITMA & FLOWCHART

Tipe Data dan Variabel. Dosen Pengampu Muhammad Zidny Naf an, M.Kom

Brigida Arie Minartiningtyas, M.Kom

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

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

PEMILIHAN. Runtunan. Dian Palupi Rini, M.Kom

Algoritma dan Pemrograman. Pertemuan Ke-11 Function

Beyond the Array: The Record Record bermanfaat untuk mengelompokkan sejumlah data dengan tipe yang berlainan. Contoh :

PERTEMUAN V PEMROGRAMAN TERSTRUKTUR DENGAN VISUAL C Setiap bahasa C mempunyai satu fungsi dengan nama main (program utama).

Algoritma dan Pemrograman. Oleh: Eddy Prasetyo N

Pertemuan II Algoritma Pemrograman & Struktur Data I

ALGORITMA RINTA KRIDALUKMANA SISKOM UNDIP

PENGANTAR KOMPUTER & SOFTWARE II. Pengulangan (For) Tim Pengajar KU Institut Teknologi Sumatera

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

Konstruksi Dasar Algoritma

Subprogram (dalam Bahasa C++ + Flowchart)

Algoritma dan Pemrograman. Pertemuan Ke-7 Statement Pengendalian 2

Pert 3: Algoritma Pemrograman 1 (Alpro1) 4 sks. By. Rita Wiryasaputra, ST., M. Cs.

SEQUENCE. Program SEQ1 { Contoh penulisan sequence per baris } Program SEQ2 { Contoh penulisan sequence dengan tanda titik koma}

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PERTEMUAN 1

ALGORITMA dan PEMROGRAMAN

SUB PROGRAM P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera

Algoritma dan Pemrograman. Pertemuan Ke-5 Input dan Output

BAB I PENDAHULUAN. Algoritma dan Pemrograman I Hal : 1

Minggu III STRUKTUR PEMILIHAN (KONTROL PROGRAM)

P3 Dasar Struktur Data TIF42/SIF42

Tipe Data, Nama, Nilai. Chapter 4

Overview. Tantowi Yahya: urutkan kegiatanmenggosok gigidengan urutan yang benar : A. Ambil sikat gigi B. Berkumur C. Menyikat gigi D.

PENYELEKSIAN KONDISI dengan IF

Algoritma Pemrograman

Identifier dan Tipe Data

Algoritma,Flowchart, Konsep

Struktur Dasar Program Prosedural dan Disain Bagan Sederhana

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

PENGANTAR KOMPUTER & SOFTWARE II

Tugas Algoritma Kelompok XI NILAM CAHYA, MUH. JASIM, IMADUDDIN. Soal

Algoritma dan Pemrograman 1. By. Rita Wiryasaputra, ST., M. Cs.

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

Pertemuan Ke-4 Urutan (sequence) Rahmady Liyantanto. liyantanto.wordpress.com. S1 Teknik Informatika-Unijoyo

Algoritma Pemrograman

Pernyataan if MODUL V PERCABANGAN

BAB IV STRUKTUR RUNTUNAN DAN PERCABANGAN

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

TYPE. Inggriani Liem : Catatan Kuliah Algoritma & Pemrograman, Jurusan teknik Informatika - ITB TYPE.doc/TYPE- 21/08/03 16:04

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

PENDAHULUAN. Brigida Arie Minartiningtyas, M.Kom

Algoritma Pemrograman

MODUL 0 PENDAHULUAN 0-1

SATUAN ACARA PERKULIAHAN JURUSAN TEKNIK INFORMATIKA ITP

Algoritma dan Pemrograman

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VI KOMPONEN KOMPONEN PEMROGRAMAN TERSTRUKTUR

Tipe Data dan Variabel

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

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

Instalasi Code::Blocks, Tipe Data, Variabel, Konstanta, Operator, Input-Output dan Flowchart

PENGANTAR KOMPUTER & SOFTWARE II. Array (Part II) Tim Pengajar KU Institut Teknologi Sumatera

Algoritma Pemrograman

PEMROGRAMAN BERORIENTASI OBJEK. Tipe Data. Budhi Irawan, S.Si, M.T

PERULANGAN P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera

PENGENALAN BAHASA C DAN C++

PERCABANGAN P E N G E N A L A N P R O G R A M S T U D I T E K N I K I N F O R M AT I K A. Institut Teknologi Sumatera

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

Algoritma Pemrograman

Teori Algoritma. Struktur Algoritma

Aturan Penulisan Algoritma Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu : Judul (Header) Kamus Algoritma

STRUKTUR DATA. Deskripsi Mata Kuliah

NomorDok : FRM/KUL/01/02 NomorRevisi : 02. Tgl.Berlaku : 1Oktober 2012 KlausaISO : & 7.5.5

Algoritma dan Pemrograman. Oleh: Eddy Prasetyo N

INPUT OUTPUT. cout. Digunakan untuk mencetak suatu informasi ke layar Contoh : cout << Halo Teknik Informatika

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR


PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

Algoritma dan Pemrograman. Pertemuan Ke-9 Statement Pengulangan 2

Procedure. Pertemuan 10 Algoritma Pemrograman

:Mahasiswa dapat membuat pseudecode dan flowchart serta mempraktekkan perintah sequence/runtunan

PENGANTAR ALGORITMA PEMROGRAMAN

04/03/2013. Absensi : 10% UTS : 30% UAS : 40% Tugas & Kuis : 20% By: Vilia Eka Meyana, M.Kom Institute Bisnis dan Informatika Indonesia

MATA KULIAH : LOGIKA DAN ALGORITMA

Algoritma Pemrograman

Larik/Array ALGORITMA DAN PEMROGRAMAN [IS ] Dosen: Yudha Saintika, S.T., M.T.I

Struktur Program Bahasa C

Dasar-dasar C/C++ Ekohariadi FT Unesa

BAB III Pengenalan Tipe Data dan Bahasa Pemrograman C/C++

Transkripsi:

ALGORITMA PEMROGRAMAN (Semester 1 - IF6110202) Pertemuan 4 RUNTUNAN/SEKUENSIAL Jadwal: Selasa, 17/10/2017, 10:20-12.00 (2 sks) Dosen:Condro Kartiko

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

CAPAIAN PEMBELAJARAN KHUSUS Setelah menyelesaikan pertemuan ke-4 ini diharapkan mahasiswa mampu menerapkan algoritma runtunan (sequence) ke dalam pseudocode dan program

CAPAIAN PEMBELAJARAN KHUSUS We Are Here!!!

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

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++

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.

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

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.

PENGARUH URUTAN INSTRUKSI (2) 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

PENGARUH URUTAN INSTRUKSI (3) 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

PERSOALAN PERTUKARAN (1) 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 } B C { nilai B diisi dengan nilai A yang tersimpan di 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 }

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;

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 }

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

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)

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

MENGHITUNG KOMISI SALESMAN (2) PROGRAM Komisi_Salesmen {dibaca 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)

TITIK TENGAH DARI DUA BUAH TITIK (1)

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)

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 >

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)

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 TotalDetik; // jam // menit // detik } // 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;

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: 4000 div 3600 = 1 (jam) 4000 mod 3600 = 400 (sisa detik) 400 div 60 = 6 (menit) 400 mod 60 = 40 (detik)

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)

Selanjutnya Baca Munir, Rinaldi., Leony Lidya. 2016. Algoritma dan Pemrograman Dalam Bahasa Pascal, C, dan C++ Edisi Keenam. Bandung: Penerbit Informatika. BAB 7 PEMILIHAN

Tugas (1) 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.

Tugas (2) 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 berarti semut menempuh jarak sejauh 2 km + 63 m + 141 cm.

Tugas (3) 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.