Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
ALGORITMA DAN PEMROGRAMAN
Abdul Rahmat
2
PENDAHULUAN ALGORITMA berasal dari kata algorithm dimana di ambil dari nama Muhammad ibn Musa Al- Khawarizmi seorang ilmuwan dari bidang matematika..buku karanganya yang terkenal adalah Al gebra wal Muqobalo Pengertian Algoritma Adalah Urutan langkah langkah logis penyelesaian masalah yang di susun secara sistematis
3
5 Ciri penting Algoritma menurut Donald E Knuth
Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas Setiap langkah harus didefinisikan dengan tepat dan tidak berarti dua(ambigous) Algoritma memiliki nol atau lebih masukan (input) Algoritma memiliki 1 atau lebih keluaran(output) Algoritma harus sangkil(effective)
4
Cara penulisan Algoritma
Structured English (SE) Merupakan Alat yang cukup Baik untuk mengambarkan algoritma. Dasar dari SE adalah bahasa inggris dan dapat di modifikasi dengan bahasa indonesia Pseudocode mirip dengan SE, Pseudo artinya imitasi. Pseudocode artinya meniru kode program sebenarnya Flowchart berupa bagan alir atau skema yang menunjukan aliran data atau program secara logika
5
Tahapan pelaksanaan program oleh komputer
Algoritma Bahasa pemrograman tingkat tinggi Program dalam bahasa mesin Operasi Translasi Kompilasi+Linking Interpretasi oleh CPU
6
STRUKTUR DASAR ALGORITMA
RUNTUNAN(Sequence ) Pemilihan(Selection) Pengulangan(Repetition)
7
Tahapan Pelaksanaan Pemrograman Komputer
Mendefinisikan Masalah Menentukan solusi Memilih algoritma Menulis program Menguji program Menulis dokumentasi Merawat program
8
Contoh algoritma Program Tampil_Data Algoritma Input(NAMA) OUTPUT(NAMA) Program Tampil_data; Begin write(‘Masukan Nama : ‘); readln(nama); writeln(‘Nama yang anda masukan :’, nama); End.
9
Studi Kasus Seorang pemuda membawa Sayuran, Kambing, Srigala untuk menyebrang sungai dengan menggunakan perahu kecil yang hanya cukup untuk menyebrang 2 jenis saja. Permasalahan yang muncul adalah kambing tidak dapat ditinggalkan dengan sayuran karena akan memakan sayuran. Srigala tidak dapat di tinggalkan dengan kambing. Tulis langkah langkah menyebrangnya agar Pemuda,Sayuran,Kambing,Srigala dapat menyebrang dengan aman.
10
2. Ada 2 buah ember A dan B dimana kapasitas ember tersebut A=5 Liter B=3 liter. Tuliskan langkah algoritmanya untuk memperoleh air 1 liter dengan menggunakan kedua ember tersebut
11
Contoh Penyusunan Algoritma
Buatlah algoritma untuk menghitung Luas Lingkaran ! Menggunakan Bahasa Manusia Inputkan nilai jari-jari lingkaran Hitung luas lingkaran menggunakan rumus : 3,14 x jari-jari x jari-jari Tampilkan nilai luas lingkaran
12
Contoh Penyusunan Algoritma
Buatlah algoritma untuk menghitung Luas Lingkaran ! Menggunakan Pseudocode Input jari-jari luas 3,14 x jari-jari x jari-jari Output luas
13
Contoh Penyusunan Algoritma
Menggunakan Flowchart Mulai Masukkan nilai Jari-jari Luas 3,14 x jari-jari x jari-jari Tampilkan Luas Selesai
14
STRUKTUR PENULISAN ALGORITMA
Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu : Judul (Header) Kamus Algoritma
15
Header (Judul) Judul adalah bagian teks algoritma yang
digunakan sebagai tempat mendefinisikan nama dengan menentukan apakah teks tersebut adalah program, prosedur, fungsi.
16
Kamus (Deklarasi) Kamus adalah bagian teks algoritma sebagai
tempat untuk mendefinisikan : Nama type Nama konstanta Nama variabel Nama fungsi Nama prosedur.
17
Kamus (Deklarasi)
18
Algoritma (Deskripsi)
Algoritma adalah bagian inti dari suatu algoritma yang berisi instruksi atau pemanggilan aksi yang telah didefinisikan.
19
PENYAJIAN ALGORITMA Bentuk penyajian untuk algoritma dibagi
menjadi 3 (tiga) bentuk penyajian, yaitu: Algoritma dengan struktur Bahasa Indonesia Algoritma dengan Pseudocode Algoritma dengan Flowchart
20
Flowchart Bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah. Merupakan cara penyajian dari suatu algoritma. Ada 2 macam Flowchart : – System Flowchart urutan proses dalam system dengan menunjukkan alat media input, output serta jenis media penyimpanan dalam proses pengolahan data. – Program Flowchart urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan masalah dalam suatu program.
21
Mengapa Flowchart a. Relationship
Flowchart dapat memberikan gambaran yang efektif, jelas, dan ringkas tentang prosedur logic. Teknik penyajian yang bersifat grafis jelas akan lebih baik daripada uraian-uraian yang bersifat teks khususnya dalam menyajikan logikalogika yang bersifat kompleks.
22
Mengapa Flowchart b. Analysis
Dengan adanya pengungkapan yang jelas dalam model atau chart, maka para pembaca dapat dengan mudah melihat permasalahan atau memfokuskan perhatian pada area-area tertentu sistem informasi.
23
Mengapa Flowchart c. Communication
Karena simbol-simbol yang digunakan mengikuti suatu standar tertentu yang sudah diakui secara umum, maka flowchart dapat merupakan alat bantu yang sangat efektif dalam mengkomunikasikan logika suatu masalah atau dalam mendokumentasikan logika tersebut.
24
Contoh Program Flowchart
25
Simbol-simbol Flowchart
Flow Direction Symbols (Simbol penghubung alur) Processing Symbols (Simbol proses). Input-output Symbols (Simbol input-output)
26
Simbol-simbol Flowchart
27
Simbol-simbol Flowchart – Cont.
28
Lambang (3)
29
Pembuatan Flowchart Tidak ada kaidah yang baku.
Flowchart = gambaran hasil analisa suatu masalah Flowchart dapat bervariasi antara satu pemrogram dengan pemrogram lainnya. Secara garis besar ada 3 bagian utama: – Input – Proses – Output
30
Pembuatan Flowchart – cont.
Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat. Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas. Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.
31
Contoh 1 Flowchart
32
Contoh 2 Flowchart
33
Tipe Data Tipe data terdiri dari tipe: Tipe dasar Tipe bentukan
Tipe yang dapat langsung dipakai (disediakan oleh bahasa pemrograman) Contoh: boolean, integer, real, char, string (?) Tipe bentukan Tipe yang didefinisikan sendiri oleh pemrogram Tipe yang dibentuk dari tipe dasar atau dari tipe bentukan lain yang sudah didefinisikan Contoh: tipe dasar yang diberi nama tipe baru, record
34
Tipe Data Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam pemrograman komputer. Setiap variabel atau konstanta yang ada dalam kode program, sebaiknya kita tentukan dengan pasti tipe datanya. Ketepatan pemilihan tipe data pada variabel atau konstanta akan sangat menentukan pemakaian sumberdaya komputer (terutama memori komputer) Salah satu tugas penting seorang programmer adalah memilih tipe data yang sesuai untuk menghasilkan program yang efisien dan berkinerja tinggi.
35
Pengelompokkan tipe data
36
Tipe Data(2) Empat hal yang harus diperhatikan dalam pendefinisian tipe: Nama Domain harga Konstanta Operator
37
Tipe Data(3)
38
Tipe Bentukan Tipe dasar yang diberi nama tipe baru Rekaman (record)
Nama baru untuk tipe dasar menggunakan kata kunci type Domain nilai, cara menulis konstanta, dan operasi- operasi yang dapat dijalankan pada tipe baru tersebut tidak berubah, sama seperti tipe dasarnya. Contoh: type BilanganBulat: integer Rekaman (record) Rekaman disusun atas satu atau lebih field Tipe field menyimpan data dan tipe dasar tertentu atau dari tipe bentukan lain yang sudah didefinisikan sebelumnya Nama rekaman ditentukan oleh pemrogram Rekaman disebut juga tipe terstruktur
39
Contoh Record DEKLARASI
type MataKuliah : record <KodeMK : string, {kode matakuliah} NamaMK : string, {nama matakuliah} Nilai : char {indeks nilai} > type Mahasiswa : record <NIM : integer, {nomor mhs} NamaMhs : string, {nama mhs} MK : array[1..4] of MataKuliah LarikMhs : array[1..100] of Mahasiswa
40
Nama Untuk mengidentifikasikan dan membedakan obyek
Unik dan tidak boleh sama Dalam algoritma nama diberikan pada: Variabel Tempat penyimpanan data/informasi di memori yang nilainya dapat diubah selama pelaksanaan program Konstanta Tempat penyimpanan di memori yang nilainya tidak dapat diubah selama pelaksanaan program Tipe bentukan Tipe data baru yang didefinisikan oleh program dari tipe data yang sudah ada Prosedur Modul program (sederetan instruksi) yang ditulis terpisah dari badan program utamadan dapat dipanggil berulang dari program utama Fungsi Prosedur yang mengembalikan suatu nilai dengan tipe data sederhana
41
Aturan Penulisan Nama Harus dimulai dengan huruf alfabet, tidak boleh dimulai dengan angka, spasi, atau karakter khusus lainnya. Tidak case sensitif (beda dengan bahasa pemrograman) Karakter penyusun nama hanya boleh: huruf alfabet, angka dan “_” (underscore) Tidak boleh dipisahkan dengan spasi Panjang nama tidak terbatas Semua nama yang dipakai harus dideklarasikan dulu pada bagian deklarasi
42
Contoh Penamaan SALAH BENAR 6titik {dimulai dg angka}
nilai ujian {dipisahkan spasi} PT-1 {mengandung operator kurang} hari! {mengandung karakter khusus} BENAR titik6 atau titik_6 nilai_ujian atau nilaiUjian PT_1 atau PT1 hari
43
Nilai Merupakan besaran dari tipe data yang sudah didefinisikan (tipe dasar maupun tipe bentukan) Nilai dapat berupa: Isi variabel atau konstanta Nilai dari hasil perhitungan Nilai yang dihasilkan oleh fungsi Nilai yang disimpan di variabel dimanipulasi dengan cara: Mengisikan ke variabel lain yang bertipe sama Dipakai untuk perhitungan Dituliskan ke piranti keluaran
44
Nilai(2) variabel konstanta NoMhs 1234 variabel1 variabel2
Pengisian nilai ke variabel: Pengisian nilai secara langsung(assignment) Memasukkan sebuah nilai ke dalam nama variabel langsung di dalma teks algoritma Syaratnya nilai yang didisikan harus bertipe sama dengan tipe peubah Notasi: Contoh: variabel konstanta NoMhs 1234 variabel1 variabel2 Nil_prev Nil_cur variabel ekspresi Luas 0.5 * p * l
45
Nilai(3) Pembacaan nilai dari piranti masukan
Nilai untuk nama variabel dapt diisi dari piranti masukan, misalnya dari keyboard. Dinamakan dengan operasi pembacaan data Notasi dalam teks algoritma: read Contoh: read (nama1, nama2,…namaN)
46
Ekspresi Ekspresi terdiri atas: operand dan operator
Operand adalah nilai yang dioperasikan dengan operator tertentu Operand dapat berupa konstanta, nama variabel, nama konstanta, atau hasil suatu fungsi Hasil evaluasi dari sebuah ekspresi adalah nilai di dalam domain yang sesuai dengan tipe operand yang dipakai, ada tiga macam: ekspresi aritmetik, ekspresi relasional, ekspresi string.
47
Ekspresi(2) Ekspresi Aritmetika Ekspresi relasional
Ekspresi yang baik operand dan hasilnya berupa numerik (ingat: tingkat prioritas operator) i. / , div, mod ii. * iii.+, - Ekspresi relasional Ekspresi dengan operator <,≤,>,≥,=,≠, not, and, or, dan xor Hasil evaluasi adalah nilai bertipe boolean Ekspresi string
48
Ekspresi (3) Ekspresi string
Ekspresi dengan operator penyambungan/concatenation “+”.
49
Struktur Algoritma Berurutan
50
FLOWCHART Algoritma Berurutan
51
Struktur Algoritma Percabangan
Sebuah program tidak selamanya akan berjalan dengan mengikuti struktur berurutan, kadang- kadang kita perlu merubah urutan pelaksanaan program dan menghendaki agar pelaksanaan program meloncat ke baris tertentu. Peristiwa ini kadang disebut sebagai percabangan/pemilihan atau keputusan.
52
Struktur percabangan untuk masalah batasan umur.
Sebuah aturan untuk menonton sebuah film tertentu adalah sebagai berikut, jika usia penonton lebih dari 17 tahun maka penonton diperbolehkan dan apabila kurang dari 17 tahun maka penonton tidak diperbolehkan nonton.
53
Jawaban :
54
Struktur percabangan untuk perhitungan dua buah bilangan.
Dalam suatu perhitungan nilai P = X + Y. Jika P positif, maka Q = X * Y, sedangkan jika negative maka nilai Q = X/Y. Buatlah flowchart untuk mencari nilai P dan Q
55
Jawaban :
56
Struktur percabangan bersarang untuk masalah fotokopi
Sebuah usaha fotokopi mempunyai aturan sebagai berikut : jika yang fotokopi statusnya adalah langganan, maka berapa lembar pun dia fotokopi, harga perlembarnya Rp. 75,- jika yang fotokopi bukan langganan, maka jika dia fotokopi kurang dari 100 lembar harga perlembarnya Rp. 100,-. Sedangkan jika lebih atau sama dengan 100 lembar maka harga perlembarnya Rp. 85,-.
57
Jawaban :
58
Struktur percabangan bersarang untuk masalah kelulusan siswa
Aturan kelulusan siswa pada mata pelajaran Pemrograman Web diterapkan sebagai berikut : Jika nilai ujian tengah semester (UTS) lebih besar dari 70 maka siswa dinyatakan lulus dan Nilai Akhir sama dengan nilai UTS. Jika nilai UTS kurang atau sama dengan 70 maka siswa dinyatakan lulus jika Nilai Akhir lebih besar atau sama dengan 60 dimana Nilai Akhir = (nilai UTS x 40%) + (nilai UAS x 60%).
59
Jawaban :
60
Struktur Algoritma Pengulangan
Dalam banyak kasus seringkali kita dihadapkan pada sejumlah pekerjaan yang harus diulang berkali. Salah satu contoh yang gampang kita jumpai adalah balapan mobil seperti tampak pada gambar ini Mobil- mobil peserta harus mengelilingi lintasan sirkuit berkali- kali sesuai yang ditetapkan dalam aturan lomba. Siapa yang mencapai garis akhir paling cepat, dialah yang menang.
61
Struktur pengulangan Kondisi pengulangan, yaitu syarat yang harus dipenuhi untuk melaksanakan pengulangan. Syarat ini biasanya dinyatakan dalam ekspresi Boolean yang harus diuji apakah bernilai benar (true) atau salah (false) Badan pengulangan (loop body), yaitu satu atau lebih instruksi yang akan diulang
62
Struktur pengulangan dengan For
Pengulangan dengan menggunakan For, merupakan salah teknik pengulangan yang paling tua dalam bahasa pemrograman. Hampir semua bahasa pemrograman menyediakan metode ini, meskipun sintaksnya mungkin berbeda. Pada struktur For kita harus tahu terlebih dahulu seberapa banyak badan loop akan diulang. Struktur ini menggunakan sebuah variable yang biasa disebut sebagai loop’s counter, yang nilainya akan naik atau turun selama proses pengulangan.
63
Struktur algoritma pengulangan dengan For
64
Algoritma untuk mencetak pernyataan sebanyak 100 kali
65
Menentukan hasil dari suatu flowchart pengulangan
66
Struktur pengulangan dengan While
Struktur While akan mengulang pernyataan pada badan loop sepanjang kodisi pada While bernilai benar. Dalam artian kita tidak perlu tahu pasti berapa kali diulang. Yang penting sepanjang kondisi pada While dipenuhi maka pernyataan pada badan loop akan diulang. Flowchart umum untuk struktur While dapat dilihat pada Gambar ini :
67
PENGELOLAAN ARRAY Variabel-variabel yang kita gunakan selama ini adalah variable biasa yang memiliki sifat bahwa sebuah nama variable hanya dapat menyatakan sebuah nilai numeric atau string pada suatu saat Array adalah struktur data yang menyimpan sekumpulan elemen yang bertipe sama, setiap elemen diakses langsung melalui indeksnya
68
Penulisan array pada C++ dan Visual Basic
69
Pencarian Data dalam Array
70
Pengurutan Data pada Array
Ada beberapa algoritma yang dapat digunakan untuk mengurutkan sekumpulan bilangan, antara lain bubble sort, selection sort, shell sort, quick sort, dan lain-lain.
71
Flowchart
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.