Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Struktur Data dan Algoritma Derry Alamsyah. Rencana Perkuliahan.

Presentasi serupa


Presentasi berjudul: "Struktur Data dan Algoritma Derry Alamsyah. Rencana Perkuliahan."— Transcript presentasi:

1 Struktur Data dan Algoritma Derry Alamsyah

2 Rencana Perkuliahan

3 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 Akan ada point tambahan untuk mahasiswa yang aktif.

4 Absensi 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.

5 Penilaian 1. Kuis10% Praktek+Teori 2. Tugas20% 1. Tugas 15% (Sebelum Quis 1) 2. Tugas 25% (Sebelum UTS) 3. Tugas 35% (Sebelum Quis 2) 4. Tugas 45% (Sebelum UAS) 3. UTS30% Praktek+Teori 4. UAS40% Praktek+Teori 5. Bonus (Point in the Class)

6

7

8

9 Pengenalan Algoritma dan Struktur Data

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

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

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

13 Menyelesaikan 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

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

15 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

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

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

18 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

19 Aturan Pemberian Nama 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.

20 Contoh Pemberian Nama Algoritma Contoh Penamaan Algoritma yang BAKU panjang luas_bangunan luasbangunan gaji1 Contoh Penamaan Algoritma yang TIDAK BAKU 1nilai nilai ujian jenis-1

21 Uraian deskriptif 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

22 Pseudocode 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 Const pi = 3.14 Const max = 250 Const min = 1

23 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 }

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

25 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)

26 Bagan Alir (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.

27

28 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)

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

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

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

32 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

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

34 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 Luas = panjang * lebar Cetak Luas selesai

35 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)

36 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

37 Contoh: Buatlah pseudecode dan flowchart mengubah sebuah bilangan dari satuan centimeter menjadi satuan meter! (Gunakan konstanta)

38 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)

39 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)

40 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

41 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

42 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


Download ppt "Struktur Data dan Algoritma Derry Alamsyah. Rencana Perkuliahan."

Presentasi serupa


Iklan oleh Google