1. Selama pembelajaran berlangsung dering HP dimatikan. 2. Tugas dikumpulkan sesuai jadwal dan dilakukan sebelum pembelajaran dimulai. Bagi yang terlambat 1 hari nilainya hanya 75 %, bila terlambat 2 hari nilainya 50%, bila terlambat max 1 minggu nilainya 25% dan jika lebih dari 1 minggu mendapat nilai 0. 3. Tugas yang merupakan plagiat/copyplagiat/copy-an mendapat nilai 0 (nol). 4. Aturan jumlah minimal presensi dalam pembelajaran tetap diberlakukan (75%). 5. Mahasiswa harus berpakaian sopan dan bersepatu.
1
4/1/2015
MATERI KULIAH 1. 2. 3. 4. 5. 6. 7. 8.
Konsep pemrograman Bentuk dan penggambaran algoritma Pengenalan bahasa C (struktur (struktur program) Struktur kontrol (branching, looping) Konsep counter, grand minor total, grand mayor total Array Teknik--teknik sorting Teknik Teknik--teknik searching Teknik
PENILAIAN Nilai akhir diperoleh dari item2 berikut: – Nilai Tugas dan Quiz : 20 % – Nilai UTS : 40 % – Nilai UAS : 40 % Total
: 100 %
2
4/1/2015
MARI BELAJAR ALGORITMA & PEMROGRAMAN
TUJUAN PEMBELAJARAN Setelah mengikuti pertemuan ini mhs diharapkan dapat menjelaskan definisi algoritma dan bentukbentuk-bentuk algoritma
3
4/1/2015
DEFINISI ALGORITMA Algoritma adalah urutan langkahlangkah penyelesaian masalah yang disusun secara sistematis dan logis. Kata Logis merupakan kata kunci dalam algoritma, artinya langkah-langkah dalam algoritma tersebut harus dapat ditentukan bernilai benar atau salah. salah
AKSI DARI ALGORITMA • Kejadian yang terjadi pada selang waktu terbatas/ terbatas/tertentu yaitu dimulai saat T0 T0 (Inisial (Inisial State/ State /Keadaan Awal Awal)) dan berakhir pada saat T1 (Final State/ State/Keadaan Akhir)). Akhir • Menghasilkan efek yang terdefinisi dengan baik dan direncanakan
4
4/1/2015
Contoh Algoritma Dalam Kehidupan Sehari-hari • • • • • •
Cara membuat kue Cara memprogram perkuliahan Cara mendaftar Tugas Akhir Cara mengendarai sepeda motor Cara merakit komputer Dsb.
Proses
Algoritma
Contoh Langkah dalam Algoritma
1. Membuat Kue
Resep Kue
…,Masukkan telur ke dalam nampan, kocok hingga mengembang,…
2. Membuat Pakaian
Pola Pakaian
..., gunting kain dari pinggir bawah ke arah kanan sejauh 5 cm,…
3. Praktikum Fisika
Panduan Praktikum
…, Siapkan alat, hubungkan dengan catu daya, nyalakan,…
4. Merakit Mobil
Panduan Merakit
…, sambungkan komponen A dengan komponen B,….
5. Mendaftar Tugas Akhir
Prosedur Pendaftaran
…, ambil formulir di BAAK, isi formulir, …
5
4/1/2015
BENTUK ALGORITMA Algoritma dapat disajikan dalam 3 bentuk yaitu: 1. Dalam bahasa natural (sehari-hari) 2. Dalam pseudo-code (kode yang menyerupai program komputer dalam bahasa tertentu) 3. Dalam bagan alir (flowchart)
CONTOH Algoritma TUKAR_ISI_BEJANA Diberikan dua buah bejana, A dan B; bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian rupa sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah. Coba bagaimana caranya..?
Bejana A
Bejana B
6
4/1/2015
Keadaan Awal Sebelum Pertukaran:
PROSES
Keadaan Akhir Setelah Pertukaran:
Proses Pertukaran 1. Tuangkan larutan dari bejana A ke dalam bejana C
2. Tuangkan larutan dari bejana B ke dalam bejana A
3. Tuangkan larutan dari bejana C ke dalam bejana B
7
4/1/2015
Apa jawaban anda dari kasus berikut? Bayangkan diri anda adalah seorang direktur BANK. Pada suatu hari, BANK tempat direktur tersebut bekerja dirampok oleh sekekelompok orang. Perampok langsung menuju ke ruang direktur dan meminta membukakan brankas. Karena sang direktur merasa punya kemampuan, maka dia melawan dengan sekuat tenaga. Terjadilah perkelahian yang sangat seru. Perampok berhasil dikalahkan dan melarikan diri tanpa membawa hasil, namun sang direktur mengalami luka yang cukup parah. Setelah dirawat beberapa hari di rumah sakit, sang direktur sembuh dan dapat bekerja kembali.
Pertanyaannya adalah:
Berapa usia sang direktur direktur? ? a. 18-22 tahun b. 23-27 tahun c. 28-32 tahun d. lebih dari 32 tahun e. Pertanyaan tidak relevan dengan isi cerita (kasus) f. Tidak tahu/tidak ada jawaban yang benar
Memprogram = menyuruh/memberi perintah komputer untuk melakukan sesuatu
8
4/1/2015
KONSEP PENGOLAHAN DATA
USER
PROGRAM
INPUT
PROSES
OUTPUT
STORAGE
KOMPONEN SISTEM KOMPUTER
• HardWare
Perangkat keras komputer yang terdiri atas CPU, Monitor, KeyBoard, Printer, Mouse, dsb. (yang ada bendanya)
• SoftWare
Perangkat lunak/program yang mengkoordinasikan /mengatur kerja dari HardWare.
• BrainWare/HumanWare
Perangkat manusia (SDM) yang mengoperasikan /mengendalikan kerja dari HardWare dan SoftWare
9
4/1/2015
KLASIFIKASI SOFTWARE
• SoftWare Sistem Operasi Program yang digunakan untuk menjalankan HardWare (mesin mesin), ), Contoh : DOS, Windows, Linux, dsb • SoftWare Aplikasi Program yang digunakan untuk menyelesaikan masalah/ masalah /aplikasi tertentu tertentu,, Contoh : Ms Word, MS Excel, SPSS, MyOB • SoftWare Bahasa Program yang digunakan untuk menterjemahkan perintah yang ditulis dalam bahasa pemrograman ke dalam bahasa mesin mesin,, Contoh : Pascal, Basic, C, Java • SoftWare Utility • Program yg digunakan untuk merawat Sw Sw/Hw /Hw
KLASIFIKASI SOFTWARE BAHASA • Bahasa Tingkat Tinggi Contoh: Bahasa Pascal, Basic • Bahasa Tingkat Menengah Contoh: Bahasa C, Java • Bahasa Tingkat Rendah Contoh: Assembler
10
4/1/2015
SARAN DALAM PENULISAN ALGORITMA Setiap algoritma sebaiknya terdiri dari tiga bagian yaitu : 1. Judul (Header) Berisi komentar mengenai diskripsi program, inisial state dan final state
2. Deklarasi Deklarasi/ /Kamus Pada bagian ini didefinisikan mengenai nama variabel, variabel , nama constanta constanta, , nama prosedur atau nama fungsi fungsi. .
3. Deskripsi Pada bagian ini algoritma dituliskan dituliskan. . Keterangan ditulis dalam tanda kurung kurawal {komentar komentar/ /keterangan keterangan} }
CONTOH ALGORITMA (Pseudo--Code) (Pseudo
Program Mana_Max {Menetukan mana bil yang lebih besar dari 2 buah bil yang diinputkan dari keyboard}
Kamus Hasil, X, Y : Integer;
Algoritma Input (X, Y) If X > Y Then Hasil X Else Hasil Y Output (Hasil)
{membaca nilai X dan Y dari KeyBoard} {Operasi pembandingan} {hasil diisi dengan X} {hasil diisi dengan Y} {nilai dlm variabel hasil dicetak ke MNT}
11
4/1/2015
KASUS PETANI MENYEBERANG DANAU Buatlah algoritma untuk kasus berikut berikut:: PETANI MENYEBERANG DANAU
KASUS MISIONARIS DAN KANIBAL Buatlah algoritma untuk kasus berikut berikut:: MISIONARIS DAN KANIBAL
12
4/1/2015
PROGRAM FLOWCHART (Bagan Alir Program)
Bagan alir program merupakan bagan yang menjelaskan secara rinci langkah-langkah dan proses-proses yang terjadi dalam sebuah program. Bagan alir program menggunakan simbol-simbol berikut:
SIMBOL-SIMBOL DALAM BAGAN ALIR PROGRAM Simbol
Fungsi Simbol titik terminal (terminal point) digunakan untuk menunjukkan awal (initial state) dan akhir (final state) suatu proses Simbol input/output digunakan untuk menggambarkan masukan/input baik dari keyboard maupun dari piranti input lainya, dan juga untuk menggambarkan keluaran/output dari suatu proses (biasanya berupa tampilan di monitor). Simbol proses digunakan untuk menggambarkan proses yang dilakukan baik proses komputer maupun proses manual
13
4/1/2015
Simbol FlowChart lanjutan
Simbol
Fungsi Simbol persiapan (preparation) digunakan untuk memberi nilai awal suatu besaran Simbol proses terdefinisi (predifine process) digunakan untuk menunjukkan suatu operasi yang rinciannya ditunjukkan di tempat lain Simbol keputusan (decision) digunakan untuk penyeleksian kondisi didalam program Simbol panah menunjukkan arah arus/aliran dari suatu proses
Simbol FlowChart lanjutan
Simbol
A
B
Fungsi
Simbol Konektor On-Page digunakan untuk menunjukkan bahwa suatu bagan alir belum selesai dan sambunganya ada di halaman yang sama. Simbol Konektor Off-Page digunakan untuk menunjukkan bahwa suatu bagan alir belum selesai dan sambunganya ada di halaman berikutnya (gambar A), sambunganya ada di halaman sebelumnya (gambar B).
14
4/1/2015
LATIHAN 1 Ada 2 buah bilangan yaitu A dan B, dimana A != B (A tidak sama dengan B). Buatlah flowchart program untuk mencari dan mencetak bilangan yang lebih kecil dari kedua bilangan tersebut.
LATIHAN 2 Dalam suatu perhitungan, nilai X dihitung dari nilai A ditambah nilai B. Jika nilai X positif, nilai Y adalah nilai A dikali nilai B, jika X tidak positif, maka nilai Y sama dengan nilai X. Buatlah penggalan flowchart program untuk menghitung dan mencetak nilai X dan nilai Y.
15
4/1/2015
LATIHAN 3 Sebuah swalayan memberikan discount 10% bagi pelanggan yang total pembeliannya Rp. 100.000,- atau lebih. Buatlah flowchart program untuk menghitung nilai uang yang harus dibayar pelanggan jika input program tersebut Total_Beli
LATIHAN 4 Untuk menentukan lulus tidaknya seorang siswa, diadakan ujian 2 kali. Jika nilai ujian pertama >= 70, siswa tersebut dinyatakan lulus. Jika tidak, rata-rata nilai ujian pertama dan ujian ke dua harus >=80 untuk dapat dinyatakan lulus. Selain kondisi tersebut siswa yang bersangkutan dinyatakan gagal. Buatlah flowchart program untuk menyelesaikan kasus tersebut, jika diketahui input untuk program tersebut adalah Nilai1 dan Nilai2.
16
4/1/2015
COUNTER dan TOTAL
Latihan 5 a. Buat flowchart program untuk menampilkan bilangan genap mulai 2 s.d. N (N diinputkan) b. Buatlah flowchart program untuk menampilkan bilangan kelipatan 3 yang kurang dari N (N diinputkan)
17
4/1/2015
Contoh kasus Buat flowchart program untuk menghitung nilai rata-rata dari N buah bilangan yang diinputkan dari keyboard. (N jumlah bilangan, juga inputan)
Perbedaan Counter dan Total • COUTER/PENCACAH -> Jumlah penambahan atau pengurangannya konstan (tetap) • TOTAL -> Jumlah penambahan atau pengurangannya tidak tetap (sesuai data input)
18
4/1/2015
Ada 3 macam alur/aliran dalam Algoritma, yaitu: 1. Sequential/Berurutan Contoh: flowchart untuk meghitung luas segi 3
2. Branching/Pencabangan Contoh: Hitung total bayar
3. Looping/Perulangan Contoh: Menampilkan N buah bilangan
ISI NILAI UJIAN NIM NAMA NILAI BASIC NILAI PASCAL NILAI C RATA-RATA GRADE STATUS