ALGORITMA DAN PEMROGRAMAN

Slides:



Advertisements
Presentasi serupa
Algoritma dan Flowchart
Advertisements

TEORI ALGORITMA.
ALGORITMA & PEMROGRAMAN I-A
Matakuliah : Algoritma & Struktur Data Versi Materi
Algoritma dan Flowchart
Bahasa Pemrograman dan Flow Chart
Algoritma dan Pemrograman
Algoritma dan Struktur Data
Urutan (Sequence) Ery Setiyawan Jullev A.
ALGORITMA PEMROGRAMAN DASAR
PENEMU ALGORITMA Perangko dari Rusia pada Gambar di samping ini bergambar seorang pria dengan nama Muhammad ibn Mūsā al- Khwārizmī. Bagi kalian yang.
Pengantar Algoritma dan pemograman
Algoritma (Struktur, Tipe Data, Input/Output)
Notasi Algoritma.
LOGIKA & ALGORITMA Algoritma & Pengenalan Flow Chart
PENGERTIAN DASAR ALGORITMA & FLOWCHART
Algoritma dan Flowchart
Algoritma Dan Pemrograman
Bab 3 algoritma dan flowchart
Pengenalan Type Data Type data dapat dikelompokkan menjadi 2
PENEMU ALGORITMA Perangko dari Rusia pada Gambar di samping ini bergambar seorang pria dengan nama Muhammad ibn Mūsā al- Khwārizmī. Bagi kalian yang.
Flowchart dan Pseudocode
Dasar-dasar Pemrograman
ALGORITMA & PEMROGRAMAN I-A
Struktur Algoritma & Tipe Data
Algortima Pemrograman I
Pemrograman Dasar Kelas X.
Flowchart (Diagram Alur)
Pengantar Pemrograman Basis Data (PPBD)
Notasi Algoritma & Tipe Data
PERTEMUAN 2 Bambang Irawan.
Tipe, Nama, dan Nilai Anifuddin azis.
Algoritma.
TIPE DATA, NAMA dan EKSPRESI
FLOWCHARTING Pertemuan 3 & 4 Muhamad Haikal, S.Kom., MT.
TEL 2112 Dasar Komputer & Pemograman Konsep Tipe Data dan Operator
Konsep Tipe Data dan Operator
penyusunan algoritma (flowchart)
MODUL 2.
Dasar Pemrograman dan Komputer
Sindy Nova Algoritma dan Pemrograman 1A
TEE 2103 Algoritma dan Pemrograman
PROG.STUDI PEND.FISIKA UIN ALAUDDIN MAKASSAR
Tipe, Nama, dan Nilai.
LOGIKA & ALGORITMA Algoritma & Pengenalan Flow Chart
Pseudocode – Tipe Data, Variabel, dan Operator
Pengenalan Type Data Type data dapat dikelompokkan menjadi 2
Tipe Data, Operator dan Ekspresi
Dasar- dasar Algoritma
Algoritma.
Flowchart.
Tipe Data, Nama dan Nilai
TIPE DATA.
Bahasa Pemrograman dan Flow Chart
Konsep Tipe Data dan Operator
DIAGRAM ALUR (FLOWCHART)
Pertemuan 2 Algoritma dan Pemrograman
ALGORITMA DAN FLOWCHART
LOGIKA & ALGORITMA -Algoritma & Pengenalan Flow Chart
Percabangan dan Perulangan
Algoritma & Pemrograman 1
Pertemuan ke 6 Nori Sahrun, S.Kom., M.Kom
Algoritma dan Flowchart
TEORI ALGORITMA.
Pertemuan 3 DR. Okfalisa, MsC Tipe, Nama dan Nilai.
LOGIKA & ALGORITMA KONSEP ALGORITMA & FLOWCHART M. Febriansyah, ST., MT.
FLOWCHARTING Temu 3 dan 4.
Flowchart (Diagram Alur)
Notasi Algoritmik, Tipe Dasar, Nilai, Ekspresi dan Input/Output
Konsep Algoritma Pemrograman
Transcript presentasi:

ALGORITMA DAN PEMROGRAMAN Abdul Rahmat

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

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)

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

Tahapan pelaksanaan program oleh komputer Algoritma Bahasa pemrograman tingkat tinggi Program dalam bahasa mesin Operasi Translasi Kompilasi+Linking Interpretasi oleh CPU

STRUKTUR DASAR ALGORITMA RUNTUNAN(Sequence ) Pemilihan(Selection) Pengulangan(Repetition)

Tahapan Pelaksanaan Pemrograman Komputer Mendefinisikan Masalah Menentukan solusi Memilih algoritma Menulis program Menguji program Menulis dokumentasi Merawat program

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.

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.

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

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

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

Contoh Penyusunan Algoritma Menggunakan Flowchart Mulai Masukkan nilai Jari-jari Luas  3,14 x jari-jari x jari-jari Tampilkan Luas Selesai

STRUKTUR PENULISAN ALGORITMA Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu : Judul (Header) Kamus Algoritma

Header (Judul) Judul adalah bagian teks algoritma yang digunakan sebagai tempat mendefinisikan nama dengan menentukan apakah teks tersebut adalah program, prosedur, fungsi.

Kamus (Deklarasi) Kamus adalah bagian teks algoritma sebagai tempat untuk mendefinisikan : Nama type Nama konstanta Nama variabel Nama fungsi Nama prosedur.

Kamus (Deklarasi)

Algoritma (Deskripsi) Algoritma adalah bagian inti dari suatu algoritma yang berisi instruksi atau pemanggilan aksi yang telah didefinisikan.

PENYAJIAN ALGORITMA Bentuk penyajian untuk algoritma dibagi menjadi 3 (tiga) bentuk penyajian, yaitu: Algoritma dengan struktur Bahasa Indonesia Algoritma dengan Pseudocode Algoritma dengan Flowchart

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.

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.

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.

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.

Contoh Program Flowchart

Simbol-simbol Flowchart Flow Direction Symbols (Simbol penghubung alur) Processing Symbols (Simbol proses). Input-output Symbols (Simbol input-output)

Simbol-simbol Flowchart

Simbol-simbol Flowchart – Cont.

Lambang (3)

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

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.

Contoh 1 Flowchart

Contoh 2 Flowchart

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

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.

Pengelompokkan tipe data

Tipe Data(2) Empat hal yang harus diperhatikan dalam pendefinisian tipe: Nama Domain harga Konstanta Operator

Tipe Data(3)

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

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

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

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

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

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

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

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)

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.

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

Ekspresi (3) Ekspresi string Ekspresi dengan operator penyambungan/concatenation “+”.

Struktur Algoritma Berurutan

FLOWCHART Algoritma Berurutan

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.

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.

Jawaban :

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

Jawaban :

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

Jawaban :

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

Jawaban :

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.

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

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.

Struktur algoritma pengulangan dengan For

Algoritma untuk mencetak pernyataan sebanyak 100 kali

Menentukan hasil dari suatu flowchart pengulangan

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 :

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

Penulisan array pada C++ dan Visual Basic

Pencarian Data dalam Array

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.

Flowchart