Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Bahan Rencana Pengajaran Algoritma dan Struktur Data Tinaliah, S. Kom.

Presentasi serupa


Presentasi berjudul: "Bahan Rencana Pengajaran Algoritma dan Struktur Data Tinaliah, S. Kom."— Transcript presentasi:

1 Bahan Rencana Pengajaran Algoritma dan Struktur Data Tinaliah, S. Kom

2 Tata tertib 1.Tidak boleh memakai sandal 2.Tidak boleh makan dan minum di kelas 3.Tugas, Kuis, UTS, dan UAS tidak boleh ada yang mencontek, copy - paste atau sebagainya. Jika ada yang Melanggar akan langsung mendapat nilai 0. 4.Akan ada point tambahan untuk mahasiswa yang aktif.

3 Kehadiran 1.Absensi Kehadiran minimal 75% 2.Absensi dibawah 75% tidak boleh mengikuti UAS 3.Toleransi kehadiran di kelas 15 menit, Lewat dari 15 Menit Absen ditutup.

4 Penilaian 1.Kuis 10% 2.Tugas 20% 3.UTS 30% 4.UAS 40%

5 SILABUS ALGORITMA dan STRUKTUR DATA (4 SKS)

6

7

8

9

10

11 REVIEW Dasar Pemrograman  Buatlah Program untuk Menginput Data Mahasiswa berupa Nama, NPM, dan Kelas

12 Algoritma dan Struktur Data Tinaliah, S. Kom Algoritma Pseudecode Flowchart

13 Program, Bahasa Pemrograman & Pemrograman Program Bahasa Pemrograman Pemrograman kata, ekspresi, pernyataan yang disusun dan dirangkai menjadi satu kesatuan prosedur yang berupa urutan langkah untuk menyelesaikan masalah yang diimplementasikan dengan menggunakan bahasa pemrograman sehingga dapat dieksekusi oleh komputer.

14 Program, Bahasa Pemrograman & Pemrograman Program Bahasa Pemrograman Pemrograman adalah prosedur atau tata cara penulisan program.

15 Program, Bahasa Pemrograman & Pemrograman Program Bahasa Pemrograman Pemrograman adalah proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan menggunakan suatu bahasa pemrograman.

16 Penyelesaian Masalah dengan Program  Seseorang membuat suatu program biasanya bertujuan untuk menyelesaikan masalah. Namun sebelum dapat menyelesaikan masalah dengan program, terdapat tiga langkah yang perlu dilakukan terlebih dahulu : 1.Menganalisis masalah dan membuat algoritma 2.Menuangkan algoritma ke dalam bentuk program 3.Mengeksekusi dan menguji program

17 Definisi Algoritma  Asal usul kata Algoritma sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata Algorism yang berarti proses menghitung dengan angka arab. Anda dikatakan Algorist jika anda menghitung menggunakan Angka Arab.  Para ahli sejarah matematika akhirnya menemukan asal kata algorism yang berasal dari nama seorang ahli matematika dari Uzbekistan Abu Abdullah Muhammad Ibnu Musa Al- Khuwarizmi ( ).  Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal- Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). HARI SISWANTORO, S.T.

18 Algoritma Logika  cara berpikir manusia untuk menyelesaikan suatu masalah. Algoritma  urutan / langkah kerja yang akan dikerjakan untuk menyelesaikan satu permasalahan secara sistematis.

19 Algoritma – Syllogism(logical appeal)

20 Contoh Algoritma yang baik : 1.Tulis surat pada secarik kertas surat 2.Ambil sampul surat atau amplop 3.Masukkan surat ke dalam amplop 4.Tutup amplop surat dengan lem pelekat 5.Tulis alamat surat yang dituju, jika tidak ingat terlebih dahulu ambil buku alamat dan cari alamat yang dituju, tulis alamat pada amplop surat 6.Tempelkan perangko pada amplop surat 7.Bawa surat ke kantor pos untuk diserahkan pada pegawai pos atau menuju bis surat dan masukkan surat kedalam kotak/bis surat

21 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 sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.

22 Algoritma Tukar isi Bejana DESKRIPSI : 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.

23 Quiz Diberikan dua buah bejana A dan B, bejana A berkapasitas 5 liter sedangkan bejana B berkapasitas 3 liter. Tulislah algoritma untuk mengambil 4 liter air dengan hanya menggunakan kedua bejana tersebut! 5 liter3 liter

24 Water Jug Problem  Misalkan anda mempunyai ember, masing-masing bervolume 5 liter dan 3 liter. Anda diminta mendapatkan air dari sebuah danau sebanyak 4 liter dengan menggunakan bantuan hanya kedua ember tersebut(tidak ada peralatan lain yang tersedia, hanya kedua ember itu saja yang ada!), terserah bagaimana caranya. Anda boleh memindahkan air dari satu ember ke ember lain, membuang seluruh air dari ember, dan sebagainya. Berikan algoritmanya dalam bahasa sehari-hari.

25 Cara Penulisan Algoritma Cara penulisan algoritma ada 3, yaitu : 1.Uraian deskriptif  menggunakan bahasa yang biasa digunakan sehari-hari. 2. Pseudocode  menggunakan kode-kode yang telah disepakati dan mempunyai arti tertentu 3. Bagan alir (Flowchart)  algoritma tersebut dituliskan dalam notasi grafik yang mempunyai arti tertentu Slide from Yoan Fita Agustina, S.T.

26 Aturan Pemberian Nama dalam Algoritma  Pemberian nama dalam algoritma mengikuti aturan baku  Nama variabel, konstanta, fungsi, prosedur dan lain lain.  Aturan : 1. Unik dan tidak boleh ada dua nama yang sama. 2. Dimulai dengan huruf alfabet dan tidak boleh dimulai dengan angka, simbol, spasi atau karakter khusus lainnya. 3. Karakter Penyusun nama adalah huruf, angka dan simbol _ (underscore). 4. Karakter penyusun nama tidak mengandung operator aritmatika, tanda baca dan karakter khusus lainnya. 5. Tidak boleh mengandung spasi.

27 Contoh Pemberian Nama dalam Algoritma  Contoh Penamaan Algoritma yang BAKU panjang luas_bangunan luasbangunan gaji1  Contoh Penamaan Algoritma yang TIDAK BAKU 1nilai nilai ujian jenis-1

28 Contoh : (Menghitung Luas Persegi Panjang) 1.Masukkan panjang persegi panjang 2.Masukkan lebar persegi panjang 3.Kalikan lebar dan panjang untuk menghitung luasnya 4.Cetak luasnya Slide from Yoan Fita Agustina, S.T. Uraian Deskriptif

29 Pseudocode  Deklarasi variabel Algoritma NAMA_ALGORITMA {uraian singkat mengenai yang akan dilakukan algoritma ini} DEKLARASI {semua nama yang dipakai, meliputi nama tipe, nama tetapan, nama peubah, nama prosedur, dan nama fungsi didefinisikan di sini} DESKRIPSI {semua langkah / aksi algoritma dituliskan di sini} DEKLARASI Nilai_Angka, Rata_rata : double K : integer R : char Deklarasi konstanta DEKLARASI Const pi = 3.14 Const max = 250 Const min = 1

30 Pseudocode Contoh : Algoritma Luas_Persegi_Panjang {Menghitung Luas Persegi Panjang} Deklarasi panjang, lebar, luas : integer Deskripsi read(panjang) read(lebar) luas  panjang*lebar Write(luas)

31 Pengisian nilai secara langsung  Simbol utk pseudecode : ‘  ’  Sebelah kiri anak panah selaku penerima nilai,  Sebelah kanan anak panah selaku pemberi nilai.  Nilai yang dikandung penerima adalah nilai terakhir yang diterima. Variabel  tetapan {nilai tetapan diisikan ke dalam variable} Variabel1  variable2 {nilai variable2 disalin ke dalam variable1} Variabel  ekspresi {hasil perhitungan diisikan ke dalam variable {peubah} h  5 { 5 diisikan ke dalam h } m  12 { 12 diisikan ke dalam m } h  h + m { hasil perhitungan h + m diisikan ke dalam h }

32 Algoritma - Pseudecode AlgoritmaPseudecode Nilai A ditambah dengan 5A  A + 5 Cetak nilai A bila A lebih besar dari 10If A > 10 then write A Dari dua bilangan A dan B, cari bilangan yang terbesar If A > B then write A Else write B

33 Flowchart  Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif- alternatif lain dalam pengoperasian.  Flowchart biasanya mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut.

34 Bagan Alir (FlowChart)

35 JENIS-JENIS FLOWCHART Flowchart terbagi atas lima jenis, yaitu :  Flowchart Sistem (System Flowchart)  Flowchart Paperwork / Flowchart Dokumen (Document Flowchart)  Flowchart Skematik (Schematic Flowchart)  Flowchart Program (Program Flowchart)  Flowchart Proses (Process Flowchart)

36 FLOWCHART SISTEM  Flowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan di dalam sistem secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang ada di dalam sistem.  Flowchart ini merupakan deskripsi secara grafik dari urutan prosedur-prosedur yang terkombinasi yang membentuk suatu sistem.  Flowchart Sistem terdiri dari data yang mengalir melalui sistem dan proses yang mentransformasikan data itu. Data dan proses dalam flowchart sistem dapat digambarkan secara online (dihubungkan langsung dengan komputer) atau offline (tidak dihubungkan langsung dengan komputer, misalnya mesin tik, cash register atau kalkulator).

37 FLOWCHART PAPERWORK / FLOWCHART DOKUMEN  Flowchart Paperwork menelusuri alur dari data yang ditulis melalui sistem. Flowchart Paperwork sering disebut juga dengan Flowchart Dokumen.  Kegunaan utamanya adalah untuk menelusuri alur form dan laporan sistem dari satu bagian ke bagian lain baik bagaimana alur form dan laporan diproses, dicatat dan disimpan.  Suatu contoh flowchart ini mengenai alur pembuatan kartu anggota untuk suatu perpustakaan :

38 FLOW DOKUMEN SISTEM BARU CALON ANGGOTA PERPUSTAKAAN KETERANGAN : # : Masukkan data calon anggota ke dalam komputer (proses pengisian data) P : Tanda tangan dan validasi data

39 FLOWCHART SKEMATIK  Flowchart Skematik mirip dengan Flowchart Sistem yang menggambarkan suatu sistem atau prosedur. Flowchart Skematik ini bukan hanya menggunakan simbol- simbol flowchart standar, tetapi juga menggunakan gambar-gambar komputer, peripheral, form-form atau peralatan lain yang digunakan dalam sistem.  Flowchart Skematik digunakan sebagai alat komunikasi antara analis sistem dengan seseorang yang tidak familiar dengan simbol-simbol flowchart yang konvensional.  Pemakaian gambar sebagai ganti dari simbol-simbol flowchart akan menghemat waktu yang dibutuhkan oleh seseorang untuk mempelajari simbol abstrak sebelum dapat mengerti flowchart.  Gambar-gambar ini mengurangi kemungkinan salah pengertian tentang sistem, hal ini disebabkan oleh ketidak-mengertian tentang simbol- simbol yang digunakan.  Gambar-gambar juga memudahkan pengamat untuk mengerti segala sesuatu yang dimaksudkan oleh analis, sehingga hasilnya lebih menyenangkan dan tanpa ada salah pengertian.

40 FLOWCHART PROGRAM  Flowchart Program dihasilkan dari Flowchart Sistem.  Flowchart Program merupakan keterangan yang lebih rinci tentang bagaimana setiap langkah program atau prosedur sesungguhnya dilaksanakan. Flowchart ini menunjukkan setiap langkah program atau prosedur dalam urutan yang tepat saat terjadi.  Programmer menggunakan flowchart program untuk menggambarkan urutan instruksi dari program komputer.  Analis Sistem menggunakan flowchart program untuk menggambarkan urutan tugas-tugas pekerjaan dalam suatu prosedur atau operasi.

41 FLOWCHART PROGRAM  Catatan : flowchart program ini adalah rincian dari sistem flowchart sistem sebelumnya untuk kotak yang bernama “Tentukan Jumlah Pesanan”

42 FLOWCHART PROSES  Flowchart Proses merupakan teknik penggambaran rekayasa industrial yang memecah dan menganalisis langkah-langkah selanjutnya dalam suatu prosedur atau sistem.  Flowchart Proses digunakan oleh perekayasa industrial dalam mempelajari dan mengembangkan proses-proses manufacturing. Dalam analisis sistem, flowchart ini digunakan secara efektif untuk menelusuri alur suatu laporan atau form

43 FLOWCHART PROSES

44 Notasi-notasi pada Flowchart Start / end Proses Input/Output Harga Awal Kondisi yang berupa pilihan Konektor Arah aliran Komentar Sub Program

45 Notasi-notasi pada Flowchart No.SimbolGambarKeterangan 1TerminalDigunakan untuk menunjukkan awal dan akhir dari program 2PersiapanDigunakan untuk memberikan nilai awal pada suatu variabel 3Pengolahan / Proses Digunakan untuk pengolahan arithmatika dan pemindahan data 4Keputusan/Kondisi / Percabangan Digunakan untuk mewakili operasi perbandingan logika 5Input/OutputDigunakan untuk menyatakan proses input/baca dan output/tulis 6GarisDigunakan untuk menyatakan urutan pelaksanaan, atau alur proses

46 Simbol-simbol Flowchart

47

48 Contoh : (menghitung Luas Persegi Panjang) mulai Baca panjang, lebar Baca panjang, lebar Luas = panjang * lebar Cetak Luas Cetak Luas selesai

49 Uraian Deskriptif, Pseudecode, Flowchart Contoh : (Menghitung Luas Persegi Panjang) 1.Masukkan panjang persegi panjang 2.Masukkan lebar persegi panjang 3.Kalikan lebar dan panjang untuk menghitung luasnya 4.Cetak luasnya Contoh : Algoritma Luas_Persegi_Panjang {Menghitung Luas Persegi Panjang} Deklarasi panjang, lebar, luas : integer Deskripsi read(panjang) read(lebar) luas  panjang*lebar Write(luas) mulai Baca panjang, lebar Baca panjang, lebar Luas = panjang * lebar Cetak Luas Cetak Luas selesai

50 Contoh : Pseudecode Kelulusan Algoritma Kelulusan_mhs {diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut dinyatakan lulus jika tidak maka dinyatakan tidak lulus} DEKLARASI : nama : string nilai : integer keterangan : string DESKRIPSI : read (nama, nilai) if nilai >= 60 then keterangan = ‘lulus’ else keterangan = ‘tidak lulus’ write(nama, keterangan)

51 Contoh : Mencari nilai terbesar dari 2 bilangan Problem: mencari bilangan terbesar dari dua bilangan yang diinputkan Contoh Algoritma: 1) Masukkan bilangan pertama 2) Masukkan bilangan kedua 3) Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan langkah 5. 4) Tampilkan bilangan pertama 5) Tampilkan bilangan kedua Contoh Pseudocode: read(a, b) If (a > b) then write a else write b

52 Soal Diskusi (penggunaan konstanta) : Buatlah pseudecode dan flowchart mengubah sebuah bilangan dari satuan centimeter menjadi satuan meter! (Gunakan konstanta)

53 Algoritma Centimeter_ke_meter {mengubah bilangan dari satuan centimeter menjadi satuan meter} Deklarasi const bilangankonversi : 100; angkacentimeter, angkameter : real Deskripsi read(angkacenti) angkameter  angkacentimeter / bilangankonversi write(angkameter)

54 Soal Diskusi 1.Buatlah pseudecode dan flowchart mengubah sebuah bilangan dari satuan berat kilogram menjadi gram! (Gunakan Konstanta) 2.Buatlah algoritma deskriptif, pseudocode dan flowchart dari menghitung keliling lingkaran. 3.Buatlah algoritma deskriptif, pseudocode dan flowchart untuk mencari sisi miring dari suatu segitiga siku-siku, jika diketahui panjang sisi yang membentuk sudut siku-siku. Input: a dan b, yaitu panjang sisi pembentuk sudut siku-siku Proses: Ouput: sisi miring (c)

55 4. Hitung gaji bersih yang diterima oleh karyawan.  Input berupa nama karyawan dan gaji pokoknya.  Proses:  Gaji bersih yang diterima karyawan adalah : Gaji bersih = gaji pokok + tunjangan – pajak  Tunjangan karyawan dihitung 20% dari gaji pokok  Pajak adalah 15% dari gaji pokok yang ditambah tunjangan  Output : nama karyawan dan gaji bersihnya Jadikan persenTunjangan dan persenPajak sebagai konstanta pada bagian deklarasi

56 SOAL 5.Buatlah algoritma untuk menghitung konversi suhu.dari Celcius menjadi Reamur dan Farenheit. Input : suhu dalam Celcius Proses : R = 4/5 * C dan F = 9/5 * C + 32 Output : suhu dalam Reamur dan Farenheit 6.Buatlah algoritma untuk menentukan suatu bilangan genap atau ganjil Input : suatu bilangan Ouput : genap / ganjil

57 SOAL 7.Buatlah algoritma untuk menentukan suatu bilangan adalah bilangan prima atau bukan. 8.Buatlah algoritma untuk untuk menghitung akar-akar persamaan kuadrat dengan rumus D = B2 – 4 * A * C  Jika D < 0 maka didapat akar imajiner  Jika D = 0 maka X1 = X2 yang didapat dari D = -B / (2 * A)  Jika D > 0 maka ada dua akar X1 = −B + D/ 2 * A dan X 2 = −B − D/ 2 * A

58 Terima Kasih…


Download ppt "Bahan Rencana Pengajaran Algoritma dan Struktur Data Tinaliah, S. Kom."

Presentasi serupa


Iklan oleh Google