Post on 02-Feb-2018
4/1/2015
1
DosenDosen Pembina:Pembina:SujitoSujito,, S.KomS.Kom.,., M.PdM.Pd..
SELAMATSELAMAT MENEMPUHMENEMPUH MATAKULIAHMATAKULIAH
Bisa dihubungi melalui:HP. 081 233 255 16E-mail: sujito@pradnya-paramita.ac.id
ojitstimata@gmail.com
1.1. Selama pembelajaran berlangsung dering HPSelama pembelajaran berlangsung dering HPdimatikan.dimatikan.
2.2. Tugas dikumpulkan sesuai jadwal dan dilakukanTugas dikumpulkan sesuai jadwal dan dilakukansebelum pembelajaran dimulai. Bagi yangsebelum pembelajaran dimulai. Bagi yangterlambat 1 hari nilainya hanya 75 %, bilaterlambat 1 hari nilainya hanya 75 %, bilaterlambat 2 hari nilainya 50%, bila terlambat maxterlambat 2 hari nilainya 50%, bila terlambat max1 minggu nilainya 25% dan jika lebih dari 11 minggu nilainya 25% dan jika lebih dari 1minggu mendapat nilai 0.minggu mendapat nilai 0.
3.3. Tugas yang merupakan plagiat/copyTugas yang merupakan plagiat/copy--ananmendapat nilai 0 (nol).mendapat nilai 0 (nol).
4.4. Aturan jumlah minimal presensi dalamAturan jumlah minimal presensi dalampembelajaran tetap diberlakukan (75%).pembelajaran tetap diberlakukan (75%).
5.5. Mahasiswa harus berpakaian sopan danMahasiswa harus berpakaian sopan danbersepatu.bersepatu.
KONTRAK PEBELAJARANKONTRAK PEBELAJARAN(NORMA AKADEMIK)(NORMA AKADEMIK)
4/1/2015
2
MATERI KULIAHMATERI KULIAH1.1. KonsepKonsep pemrogramanpemrograman2.2. BentukBentuk dandan penggambaranpenggambaran algoritmaalgoritma3.3. PengenalanPengenalan bahasabahasa C (C (strukturstruktur
program)program)4.4. StrukturStruktur kontrolkontrol (branching, looping)(branching, looping)5.5. KonsepKonsep counter, grand minor total,counter, grand minor total,
grand mayor totalgrand mayor total6.6. ArrayArray7.7. TeknikTeknik--teknikteknik sortingsorting8.8. TeknikTeknik--teknikteknik searchingsearching
PENILAIANPENILAIANNilai akhir diperoleh dari item2
berikut:– Nilai Tugas dan Quiz : 20 %– Nilai UTS : 40 %– Nilai UAS : 40 %
TotalTotal :: 100 %100 %
4/1/2015
3
MARI BELAJARMARI BELAJARALGORITMA & PEMROGRAMANALGORITMA & PEMROGRAMAN
MARI BELAJARMARI BELAJARALGORITMA & PEMROGRAMANALGORITMA & PEMROGRAMAN
TUJUAN PEMBELAJARANTUJUAN PEMBELAJARAN
Setelah mengikuti pertemuan iniSetelah mengikuti pertemuan inimhs diharapkan dapatmhs diharapkan dapatmenjelaskan definisi algoritmamenjelaskan definisi algoritmadan bentukdan bentuk--bentuk algoritmabentuk algoritma
4/1/2015
4
DEFINISI ALGORITMAAlgoritma adalah urutan langkah-
langkah penyelesaian masalah yangdisusun secara sistematis dan logis.
Kata Logis merupakan kata kunci dalamalgoritma, artinya langkah-langkahdalam algoritma tersebut harusdapat ditentukan bernilai benarbenar atausalahsalah.
AKSI DARIAKSI DARI AALGORITMALGORITMA•• KKejadian yang terjadi pada selangejadian yang terjadi pada selang
waktu terbataswaktu terbatas//tertentutertentu yaituyaitudimulai saat Tdimulai saat T0 (0 (InisialInisialStateState//KeadaanKeadaan AwalAwal)) dan berakhirdan berakhirpada saat T1pada saat T1 ((Final StateFinal State//KeadaanKeadaanAkhirAkhir))..
•• Menghasilkan efek yang terdefinisiMenghasilkan efek yang terdefinisidengan baik dan direncanakandengan baik dan direncanakan
4/1/2015
5
Contoh AlgoritmaDalam Kehidupan Sehari-hari
• Cara membuat kue• Cara memprogram perkuliahan• Cara mendaftar Tugas Akhir• Cara mengendarai sepeda motor• Cara merakit komputer• Dsb.
Proses Algoritma Contoh Langkahdalam Algoritma
1. Membuat Kue Resep Kue…,Masukkan telur kedalam nampan, kocokhingga mengembang,…
2. Membuat Pakaian Pola Pakaian..., gunting kain daripinggir bawah ke arahkanan sejauh 5 cm,…
3. Praktikum Fisika Panduan Praktikum…, Siapkan alat,hubungkan dengan catudaya, nyalakan,…
4. Merakit Mobil Panduan Merakit…, sambungkankomponen A dengankomponen B,….
5. Mendaftar TugasAkhir
Prosedur Pendaftaran …, ambil formulir diBAAK, isi formulir, …
4/1/2015
6
BENTUKBENTUKALGORITMAALGORITMA
Algoritma dapat disajikan dalam 3bentuk yaitu:
1. Dalam bahasa natural (sehari-hari)2. Dalam pseudo-code (kode yang
menyerupai program komputer dalambahasa tertentu)
3. Dalam bagan alir (flowchart)
CONTOH
Algoritma TUKAR_ISI_BEJANA
Diberikan dua buah bejana, A dan B; bejana A berisi larutan berwarnamerah, bejana B berisi larutan berwarna biru. Pertukarkan isi keduabejana itu sedemikian rupa sehingga bejana A berisi larutan berwarnabiru dan bejana B berisi larutan berwarna merah.
Coba bagaimana caranya..?
Bejana A Bejana B
4/1/2015
7
Keadaan Awal Sebelum Pertukaran:
Keadaan Akhir Setelah Pertukaran:
PROSESPROSES
Proses PertukaranProses 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
4/1/2015
8
Apa jawaban anda darikasus berikut?
Bayangkan diri anda adalah seorang direktur BANK. Pada suatu hari, BANKtempat direktur tersebut bekerja dirampok oleh sekekelompok orang.Perampok langsung menuju ke ruang direktur dan meminta membukakanbrankas. Karena sang direktur merasa punya kemampuan, maka diamelawan 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 dirawatbeberapa hari di rumah sakit, sang direktur sembuh dan dapat bekerjakembali.
Pertanyaannya adalah:BerapaBerapa usiausia sangsang direkturdirektur??a. 18-22 tahun b. 23-27 tahunc. 28-32 tahun d. lebih dari 32 tahune. Pertanyaan tidak relevan dengan isi cerita (kasus)f. Tidak tahu/tidak ada jawaban yang benar
MemprogramMemprogram ==menyuruh/memberimenyuruh/memberi
perintah komputer untukperintah komputer untukmelakukan sesuatumelakukan sesuatu
MemprogramMemprogram ==menyuruh/memberimenyuruh/memberi
perintah komputer untukperintah komputer untukmelakukan sesuatumelakukan sesuatu
4/1/2015
9
KONSEP PENGOLAHAN DATA
PROGRAMUSER
INPUT PROSES OUTPUT
STORAGE
KOMPONEN SISTEM KOMPUTERKOMPONEN SISTEM KOMPUTER• HardWare
Perangkat keras komputer yang terdiriatas CPU, Monitor, KeyBoard, Printer,Mouse, dsb. (yang ada bendanya)
• SoftWarePerangkat lunak/program yang
mengkoordinasikan /mengatur kerjadari HardWare.
• BrainWare/HumanWarePerangkat manusia (SDM) yang
mengoperasikan /mengendalikankerja dari HardWare dan SoftWare
4/1/2015
10
KLASIFIKASI SOFTWAREKLASIFIKASI SOFTWARE•• SoftWareSoftWare SistemSistem OperasiOperasi
Program yangProgram yang digunakandigunakan untukuntuk menjalankanmenjalankanHardWareHardWare ((mesinmesin),), ContohContoh : DOS, Windows, Linux,: DOS, Windows, Linux,dsbdsb
•• SoftWareSoftWare AplikasiAplikasiProgram yangProgram yang digunakandigunakan untukuntuk menyelesaikanmenyelesaikan
masalahmasalah//aplikasiaplikasi tertentutertentu,, ContohContoh : Ms Word, MS: Ms Word, MSExcel, SPSS,Excel, SPSS, MyOBMyOB
•• SoftWareSoftWare BahasaBahasaProgram yangProgram yang digunakandigunakan untukuntuk menterjemahkanmenterjemahkan
perintahperintah yangyang ditulisditulis dalamdalam bahasabahasa pemrogramanpemrograman kekedalamdalam bahasabahasa mesinmesin,, ContohContoh : Pascal, Basic, C, Java: Pascal, Basic, C, Java
•• SoftWareSoftWare UtilityUtility•• ProgramProgram ygyg digunakandigunakan untukuntuk merawatmerawat SwSw/Hw/Hw
KLASIFIKASI SOFTWARE BAHASA• Bahasa Tingkat Tinggi
Contoh: Bahasa Pascal, Basic
• Bahasa Tingkat MenengahContoh: Bahasa C, Java
• Bahasa Tingkat RendahContoh: Assembler
4/1/2015
11
SARAN DALAM PENULISAN ALGORITMASARAN DALAM PENULISAN ALGORITMA
Setiap algoritma sebaiknya terdiri dariSetiap algoritma sebaiknya terdiri daritiga bagian yaitu :tiga bagian yaitu :
1.1. Judul (Header)Judul (Header)BerisiBerisi komentarkomentar mengenaimengenai diskripsidiskripsi program,program,inisialinisial statestate dandan final statefinal state
2.2. DeklarasiDeklarasi//KamusKamusPadaPada bagianbagian iniini didefinisikandidefinisikan mengenaimengenai namanamavariabelvariabel,, namanama constantaconstanta,, namanama prosedurprosedur atauataunamanama fungsifungsi..
3.3. DeskripsiDeskripsiPadaPada bagianbagian iniini algoritmaalgoritma dituliskandituliskan..KeteranganKeterangan ditulisditulis dalamdalam tandatanda kurungkurung kurawalkurawal{{komentarkomentar//keteranganketerangan}}
CONTOHCONTOH ALGORITMAALGORITMA(Pseudo(Pseudo--Code)Code)
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) {membaca nilai X dan Y dari KeyBoard}If X > Y Then {Operasi pembandingan}
Hasil X {hasil diisi dengan X}Else
Hasil Y {hasil diisi dengan Y}Output (Hasil) {nilai dlm variabel hasil dicetak ke MNT}
4/1/2015
12
KASUS PETANIMENYEBERANG DANAU
BuatlahBuatlah algoritmaalgoritma untukuntuk kasuskasus berikutberikut::PETANI MENYEBERANG DANAUPETANI MENYEBERANG DANAU
KASUS MISIONARISDAN KANIBAL
BuatlahBuatlah algoritmaalgoritma untukuntuk kasuskasus berikutberikut::MISIONARIS DAN KANIBALMISIONARIS DAN KANIBAL
4/1/2015
13
PROGRAM FLOWCHART(Bagan Alir Program)
Bagan alir program merupakan baganyang menjelaskan secara rincilangkah-langkah dan proses-prosesyang terjadi dalam sebuah program.
Bagan alir program menggunakansimbol-simbol berikut:
SIMBOL-SIMBOLDALAM BAGAN ALIR PROGRAM
Simbol proses digunakan untukmenggambarkan proses yang dilakukan baikproses komputer maupun proses manual
Simbol input/output digunakan untukmenggambarkan masukan/input baik darikeyboard maupun dari piranti input lainya, danjuga untuk menggambarkan keluaran/outputdari suatu proses (biasanya berupa tampilan dimonitor).
Simbol titik terminal (terminal point)digunakan untuk menunjukkan awal (initialstate) dan akhir (final state) suatu proses
FungsiSimbol
4/1/2015
14
Simbol FlowChart lanjutan
Simbol panah menunjukkan arah arus/alirandari suatu proses
Simbol keputusan (decision) digunakan untukpenyeleksian kondisi didalam program
Simbol proses terdefinisi (predifine process)digunakan untuk menunjukkan suatu operasiyang rinciannya ditunjukkan di tempat lain
Simbol persiapan (preparation) digunakanuntuk memberi nilai awal suatu besaran
FungsiSimbol
Simbol FlowChart lanjutan
Simbol Konektor Off-Page digunakan untukmenunjukkan bahwa suatu bagan alir belumselesai dan sambunganya ada di halamanberikutnya (gambar A), sambunganya ada dihalaman sebelumnya (gambar B).
Simbol Konektor On-Page digunakan untukmenunjukkan bahwa suatu bagan alir belumselesai dan sambunganya ada di halamanyang sama.
FungsiSimbol
A
B
4/1/2015
15
LATIHAN 1Ada 2 buah bilangan yaitu A dan B,
dimana A != B (A tidak samadengan B). Buatlah flowchartprogram untuk mencari danmencetak bilangan yang lebih kecildari kedua bilangan tersebut.
LATIHAN 2
Dalam suatu perhitungan, nilai Xdihitung dari nilai A ditambah nilaiB. Jika nilai X positif, nilai Y adalahnilai A dikali nilai B, jika X tidakpositif, maka nilai Y sama dengannilai X. Buatlah penggalan flowchartprogram untuk menghitung danmencetak nilai X dan nilai Y.
4/1/2015
16
LATIHAN 3Sebuah swalayan memberikan discount
10% bagi pelanggan yang totalpembeliannya Rp. 100.000,- ataulebih. Buatlah flowchart programuntuk menghitung nilai uang yangharus dibayar pelanggan jika inputprogram tersebut Total_Beli
LATIHAN 4Untuk menentukan lulus tidaknya seorang
siswa, diadakan ujian 2 kali. Jika nilai ujianpertama >= 70, siswa tersebut dinyatakanlulus. Jika tidak, rata-rata nilai ujianpertama dan ujian ke dua harus >=80 untukdapat dinyatakan lulus. Selain kondisitersebut siswa yang bersangkutandinyatakan gagal. Buatlah flowchartprogram untuk menyelesaikan kasustersebut, jika diketahui input untuk programtersebut adalah Nilai1 dan Nilai2.
4/1/2015
17
COUNTERCOUNTER dandan TOTALTOTAL
Latihan 5a. Buat flowchart program untuk
menampilkan bilangan genap mulai 2s.d. N (N diinputkan)
b. Buatlah flowchart program untukmenampilkan bilangan kelipatan 3yang kurang dari N (N diinputkan)
4/1/2015
18
Contoh kasus
Buat flowchart program untukmenghitung nilai rata-rata dari Nbuah bilangan yang diinputkan darikeyboard.
(N jumlah bilangan, juga inputan)
Perbedaan Counter danTotal
• COUTER/PENCACAH -> Jumlahpenambahan atau pengurangannyakonstan (tetap)
• TOTAL -> Jumlah penambahan ataupengurangannya tidak tetap (sesuai datainput)
4/1/2015
19
Ada 3 macam alur/alirandalam Algoritma, yaitu:1. Sequential/Berurutan
Contoh: flowchart untuk meghitung luas segi 3
2. Branching/PencabanganContoh: Hitung total bayar
3. Looping/PerulanganContoh: Menampilkan N buah bilangan
ISI NILAI UJIAN
NIM : <input>NAMA : <input>NILAI BASIC : <input>NILAI PASCAL : <input>NILAI C : <input>RATA-RATA : <output>GRADE : <output>STATUS : <output>
Ketentuan Proses:Rata2 = (nb + np + n2) / 3Grade:Rata2 Grade< 45 E45 s.d. < 60 D60 s.d < 70 C70 s.d < 80 B>= 80 A
StatusGrade A, B, C : LULUSGrade D : MENGULANGGrade E : TIDAK LULUS
4/1/2015
20
Sampai jumpa minggu depanSampai jumpa minggu depan
TUGAS 1Buatlah flowchart proses transaksi di
ATM sebuah BANK.