1 / 49

Algoritma & Pemrograman 3 sks

Algoritma & Pemrograman 3 sks. STMIK AKAKOM. M. Guntara. Pengertian. Asal usul “Algoritma “ berasal dari nama Abu Ja'far Ibnu Musa Al Khuwarizmi (imuwan Irak) dan diseram dalam bhs Inggris menjadi “algorism/algorithm” dan di Indonesiakan menjadi “Algoritma” Definisi

presta
Télécharger la présentation

Algoritma & Pemrograman 3 sks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algoritma & Pemrograman3 sks STMIK AKAKOM M. Guntara Algoritma - JAVA oleh M. Guntara

  2. Algoritma - JAVA oleh M. Guntara

  3. Pengertian • Asal usul “Algoritma “ berasal dari nama Abu Ja'far Ibnu Musa Al Khuwarizmi (imuwan Irak) dan diseram dalam bhs Inggris menjadi “algorism/algorithm” dan di Indonesiakan menjadi “Algoritma” • Definisi Urutan langkah-langkah logis penyelesaian masalah yang disusun sistematis Algoritma - JAVA oleh M. Guntara

  4. Pert-2:Contoh 1 • Algoritma mengendarai motor jenis bebek • Sederhana(motor kondisi sempurna) • Masukkan kunci motor • Putar pada posisi ON • Starter motor • Masukkan gigi persneling 1 • Putar gas perlahan • Setelah mencapai putaran tertentu putar gas pada posisi ter rendah • Masukkan ke gigi berikutnya Algoritma - JAVA oleh M. Guntara

  5. Contoh 2 • Algoritma mengendarai motor jenis bebek • Lebih komplex(motor lama/kurang fit) • Masukkan kunci motor • Putar pada posisi ON • Tekan Starter motor • Apakah mesin menyala ? Bila ya lakukan langkah 8 , bila tidak lakukan langkah 5 • Apakah Penekanan starter sudah 3 kali, bila ya lakukan langkah 6 bila tidakke langkah 8 • Gunakan kick starter • Apakah mesin menyala ? Bila ya lakukan langkah 8, bila tidak ke langah 12 • Masukkan gigi persneling 1 • Putar gas perlahan • Setelah mencapai putaran tertentu putar gas pada posisi ter rendah • Masukkan ke gigi berikutnya • Selesai Algoritma - JAVA oleh M. Guntara

  6. Contoh 3 • Menghitung Luas Segi Empat • Masukkan panjang • Masukkan lebar • Hitung luas=panjang x lebar • Tampilkan luas • Ujian masuk STMIK AKAKOM • Mendaftar • Melakukan tes on line • Apakah nilai tes lebih besar batas yang ditentukan , bila ya lakukan langkah 4, bila tidak langkah 5 • Registrasi mahasiswa baru • Selesai Algoritma - JAVA oleh M. Guntara

  7. Cara kerja/'berpikir' komputer Prediktif 16/3 = ? (Kira-kira 5) Pasti16/3 = 5,33333333 • Komputer bekerja dengan cara yang logis/nalar • Keputusan/hasil komputer 'pasti' • Sintaksis penulisan program/kode exact. Misal : println , tidak bisa ditulis dengan Println atau print ln System.out, s.d.a. system.out atau System,out • Indetifikasi data exact (karakter per karakter) Misal : DIY  D I Y  DI Yogya  Yogyakarta  Jogjakarta  Jogyakarta 12000 rupiah  Rp 12000  12000 M. Guntara  Mohammad Guntara  M. Guntoro  Muhammad Guntara Algoritma - JAVA oleh M. Guntara

  8. Rumus/Persamaandlm program komputer • harusberupa PERSAMAAN Luasnya_berapa_ya=panjang_loh*lebar_dab • Tidakbolehberupapertidaksamaan Luas> panjang*lebar_dabsalah • Disebelahkiripersamaanharusberupa 1 VARIABEL X=Y+5 X=X+Y \ • Selain 1 variabeltidakdiperbolehkan X+Y=5 , X+1=Y=12 salah 5=x+2 • Persmaaanharusdalam 1 BARIS  TI 3-II-29092010- -| Algoritma - JAVA oleh M. Guntara

  9. Pert-3:Anatomi Persamaan/rumus • Konstanta • Variabel • Tipe /jenis data • Operator • Hirarkioperasi Algoritma - JAVA oleh M. Guntara

  10. Konstantadanjenis-nya • Numerik : • Berupabilangan : bulat (2323, -2323), pecahan (0.1234, 200.75) • Untukoperasiperhitungan • String, alpanumerik, character • Nama : Sutiyo, Suziku, Yahaha, Di2k, • Alamt : Jlwirawiri 13 Yogya • Id (identifier) : no mahasiswa (105410007), nomortelpon (081227671716) NIP (2323232323) • Non perhitungan Algoritma - JAVA oleh M. Guntara

  11. Variabel • Berupakumpulanangka, huruf, dansimboltertentu (hanya _) jumlah1, harga_satuan, tokek2000, Z1Z1Z1ZZZZZZZZ • Tidakdidahuluidenganangka Misal : 123XX salah XXX123 benar • TIDAK BOLEH adaspasi Algoritma - JAVA oleh M. Guntara

  12. Operator matematis ()  priority *  perkalian /  pembagian +  penambahan -  pengurnagan %  modulus atau sisa bagi Algoritma - JAVA oleh M. Guntara

  13. Hirarki • () • * , / , % setara, didahulukanygletakdidepan • + , - Algoritma - JAVA oleh M. Guntara

  14. Latihan • Terdapatpersamaan x+10 = y- Buatpersmaaantersebutuntuk programming ! Penyelesaian x= y – (20 + z*z)/3 -10 Algoritma - JAVA oleh M. Guntara

  15. Pert-4:Algoritma Decission (1) condition Misal : (1) menentukansuatunilaitesditerimaatautidakdengankriteriabilainilai 60 keatas DITERIMA, Penyelesaian • Masukannilai_tes • Jikanilai_tes >= 60 , bilaYA tampilkanteks : DITERIMA, jika TIDAK, tampilkanteks “GAGAL” Algoritma - JAVA oleh M. Guntara

  16. AlgoritmaDecission (2) (2) menentukansuatunilaitesdengankriteria 60-100 : DITERIMA 40-59:CADANGAN 0-39 : DITOLAK Penyelesaian • Masukkannilai_tes • Jikanilai_tes >= 60, bilaYA tampilkan “DITERIMA” • Bilatidakapakah 40 <=nilai_tes<60 , bilaYA, tampilkan “CADANGAN” • BilaTidaktampilkan “DITOLAK” Algoritma - JAVA oleh M. Guntara Algoritma - JAVA oleh M. Guntara

  17. Flowchart Program • Alurlogika program komputer yang dituangkandalambentukbagan/grafis (penuanganalgoritmadalambentukbagan) • Tujuan : agar logika (alurberpikir) suatu program komputermudahdancepatdiketahui/difahami • Jenis Flowchart program yang dipakaidialgoritma (menggunakan JAVA) adalahActivity Diagram • terdapat 2 kelompokbesaruntukmenuangkan flowchart 1. flowcart program terstruktur , merupakanjenis flowchart pertamadandigunakanuntukberbagaibhspemrogramanterstrukur (C++,Basic, Pascal, Fortran, dll) 2.Unified Modelling Language (UML) , berupapenggambarandlaambentukgrafis/bagan yang mereprestasikanaktifitas program . Jenisinisesuaiuntukdigunakandibahasapemorghramanbberorientasiobyek (misal : JAVA) Salahsatubentuk UML adalah DIAGRAM ACTIVITAS (activity duagram) Algoritma - JAVA oleh M. Guntara Algoritma - JAVA oleh M. Guntara

  18. Bentuk Diagram Aktifitas Urutan/arahaktifitas Mulaiaktifitas Percabangan/decission/keputusan Akhiraktifitas Algoritma - JAVA oleh M. Guntara Algoritma - JAVA oleh M. Guntara

  19. Contoh Activity Diagram (1) Masukkanpanjangdanlebar Hitung Luas=panjang*lebar TampilkanLuas Algoritma :Menghitung Luas Segi Empat • Masukkan panjang • Masukkan lebar • Hitung luas=panjang x lebar • Tampilkan luas Algoritma - JAVA oleh M. Guntara Algoritma - JAVA oleh M. Guntara

  20. Contoh Activity Diagram (2) Kondisi (condition) Masukkannilai_tes TIDAK YA Nilai_tes>=60 Tampilkan “DITOLAK” Tampilkan “DITERIMA” • Masukannilai_tes • Jikanilai_tes >= 60 , bilaYA tampilkanteks : DITERIMA, jika TIDAK, tampilkanteks “GAGAL” Algoritma - JAVA oleh M. Guntara Algoritma - JAVA oleh M. Guntara

  21. Latihan TI-4 21 Oktober 2010 TI3-28 Okt2010 • Buatalgoritmadan activity diagram untukmenghitungjumlah_gajidanbesarpajakdengankriteriasebagaiberikut • Jumlah_gajimerupakanpenjumlahandarigaji_pokokdantunjangan • Bilajumlah_gaji >=10 juta, prosen_pajak 20%, biladibawah 10 jutaprosen_pajak 10% • Besar_pajak= prosen_pajak * jumlah_gaji Algoritma - JAVA oleh M. Guntara Algoritma - JAVA oleh M. Guntara

  22. Algoritma • Memasukkangaji_pokok • Masukkantunjangan • Hitungjumlah_gaji=gaji_pokok+tunjangan • Apakahjumlah_gaji>=10.000.000 , bilaya , prosen_pajak=20%, bila TIDAK , prosen_pajak=10% • Hitungbesar_pajak=prosen_pajak*jumlah_gaji • Tampilkanjumlah_gajidanbesar_pajak Algoritma - JAVA oleh M. Guntara

  23. Latihan(PR TI-4 21Okt2010) Buat Activity Diagram untukalgoritmasbb • Masukkannilai_tes • Jikanilai_tes >= 60, bilaYA tampilkan “DITERIMA” • Bilatidakapakah 40 <=nilai_tes<60 , bilaYA, tampilkan “CADANGAN” • BilaTidaktampilkan “DITOLAK” Algoritma - JAVA oleh M. Guntara

  24. Latihan 2 TI 4 28Okt2010 Buat Activity Diagram untukalgoritmasbb • Masukkansimpanan • Jikasimpanandiatas 10 jutabunga =20% • Jikasimpanan 5 juta – 10 juta, bunga =10% • Jikasimpananlebihkecil 5 juta, tidakadabunga • Hitungbesar_bunga= bunga * simpanan • Tampilkanbesar_bunga Buat activity diagram nya Algoritma - JAVA oleh M. Guntara

  25. Java Programming • Struktur program dasar Bentukumum public class namaclass { public static void main(String args[]) { ... Kode program .... } } Catatan : • Nama file memikikitambahan (extension) .java, dannama file samadengannamaclass-nya . Misalnamaclass : hitung, makanamafilenya : hitung.java • Padanaskah/bentukumum program , • font regular (tegak) adalahperintahbaku/ reserved word/ command/ kode program / coding /instruksi • Font italic (miring), sesuaikebutuhan/keinginanpemrogram/ bebas • Perintah/kode program JAVA adalah CASE SENSITIVE (hurufbesardankecildibedakan, artinyakalauperintahdalamhurufbesarmaka HARUS ditulishurufbesardansebaliknya) Algoritma - JAVA oleh M. Guntara

  26. Perintah JAVA (1) Menampilkanteks System.out.println(“teks”); System.out.println(variabel/kontanta); System.out.println(“teks”+variabel/konstanta); Bilahanya print (tanpaln) makatekstidakbergantibaris TI3-V-20_Okt2010 Algoritma - JAVA oleh M. Guntara

  27. Perintah JAVA (2) Jenis /Tipe data –dasar (1) • Byte, untukbilanganbulat 2-8 sd. 28 atau -128 s.d. 127 instruksi: byte variabel ; • Short, untukbilanganbulat 2-16 sd. 216 atau -32768 s.d. 32767 instruksi: short variabel ; • integer, untukbilanganbulat 2-32 sd. 232 atau -2.147.483. 648 s.d. 2.147.483.647 instruksi: intvariabel Algoritma - JAVA oleh M. Guntara

  28. Perintah JAVA (3) Jenis /Tipe data –dasar (2) • Double , untukbilanganpecahan Instruksi double variabel ; • Char, untuk data karaktersimbol) Instruksi char variabel ; • String, untuk data teks Instruksi String variabel ; Algoritma - JAVA oleh M. Guntara

  29. Contoh (1): Penggunaan integer : public class hitung1 { public static void main(String args[]) { int a=10; int b=200 hasil; inthasil= a*b; System.out.println("Hasil "+hasil); } } Algoritma - JAVA oleh M. Guntara

  30. Contoh (2): Penggunaan double public class hitung2 { public static void main(String args[]) { double a=23; double b=1.7565656 Double hasil; hasil= a/b; System.out.println("Hasil "+hasil); } } Catatan : Untukoperasipembagiandenganhasilpecahanmaka SEMUA variabelharusberupadouble atau float Algoritma - JAVA oleh M. Guntara

  31. Java : Output/Input MenampilkanTeks System.out.println(“teks” ); menampilkanteks System.out.println (variabel);  menampilkanisivariabel System.out.println(“teks”+variabel) ; gabunganteksdanvariabel Algoritma - JAVA oleh M. Guntara

  32. Java:Output/Input(2) Pemasukandanlewatkeyboard Scanner .variabel1=new Scanner (System.in); membuat input variabel2=variabel1.nextInt() bila data Integer variabel2=variabel1.nextDouble() bila data pecah variabel2=variabel1.nextString() biladana String/Charakter Algoritma - JAVA oleh M. Guntara

  33. TUGAS KELOMPOK maks 3 orang Denganpemrograman JAVA buat program untuk (plilihsalahsatu) • KonversisuhudariCelciuske Fahrenheit • Konversisuhudari Fahrenheit ke Celsius • MenghitungLuassegitiga • MenghitungLuaslingkaran  Data diinputkan via keyboard Kirimkanfile .java kem_guntara@yahoo.com Dengansubyek; TUGAS ALGORITMA TI 3, maks 1 minggu Tulisanggotakelompokdikodeprogramnya Algoritma - JAVA oleh M. Guntara

  34. Java: Keputusan (1) Catatan : Kondisi: berupapembandinganantar 2 variaba/konstanta Kondisi : Variabel1/konstanta1 OPR Variabel2/konstanta2 OPR : operator relasi (==, <,>,<=.>=,!=) Keputusan (decission) tunggal If (kondisi) Salah Benar pernyataan; Bilalebih 1 barispernyataan If (kondisi) { benarsalah pernyataan1; pernyataan2; ………… } Algoritma - JAVA oleh M. Guntara

  35. Algoritma - JAVA oleh M. Guntara Algoritma - JAVA oleh M. Guntara

  36. Java: Keputusan (2) Kondisi: berupapembandinganantar 2 variaba/konstanta Kondisi : Variabel1/konstanta1 OPR Variabel2/konstanta2 OPR : operator relasi (==, <,>,<=.>=,!=) Pernyataan : perintah –perintah yang sesuaidengankeputusannya Keputusanganda (double decission) if (kondisi) { benar pernyataan-pernyataan 1 } Else salah { pernyataan-pernyataan 2 }  TI 4 Sabtu,4 Des 2010 --| Algoritma - JAVA oleh M. Guntara

  37. Java: Keputusan (3) Kondisi: berupapembandinganantar 2 variaba/konstanta Kondisi : Variabel1/konstanta1 OPR Variabel2/konstanta2 OPR : operator relasi (==, <,>,<=.>=,!=) Pernyataan : perintah –perintah yang sesuaidengankeputusannya Keputusanjamak (multiple decission) if (kondisi1) { benarsalah pernyataan-pernyataan 1 } else if (kondisi2) salah { benar pernyataan-pernyataan 2 salah } Else { pernyataan-pernyataan 3 } Algoritma - JAVA oleh M. Guntara

  38. Kasus Buat program untuk menghitung jumlah gaji yang diterima dengan ketentuan sbb • Untuk gaji 1 juta ke atas dikenakan pajak 10% dari gaji • Gaji yang diterima = gaji-pajak • Buat Activiti Diagram • Buat program-nya` Algoritma - JAVA oleh M. Guntara Algoritma - JAVA oleh M. Guntara

  39. Java: Keputusan (3) Kondisi: berupapembandinganantar 2 variaba/konstanta Kondisi : Variabel1/konstanta1 OPR Variabel2/konstanta2 OPR : operator relasi (==, <,>,<=.>=,!=) Pernyataan : perintah –perintah yang sesuaidengankeputusannya Keputusanjamak (multiple decission) if (kondisi1) { benarsalah pernyataan-pernyataan 1 } else if (kondisi2) salah { benar pernyataan-pernyataan 2 salah } Else { pernyataan-pernyataan 3 } Algoritma - JAVA oleh M. Guntara

  40. Java: Keputusan (4) Maksud : Bilanilai_1 = variabel , mengerjakan pernyataan_1 Bilanilai_2= variabel , mengerjakan pernyataan_2 Dst Bilatidakada yang sesuai , mengerjakanpernyataan_x Keputusanjamakdengan switch (kondisimenggunakan/merupakanpersamaan) switch(variabel) case nilai_1: pernyataan_1; break; case nilai_2: pernyataan_2; break; ……….. default: pernyataan_x; Algoritma - JAVA oleh M. Guntara

  41. KondisiJamak KasuS : • Padapenerimaanmahasiswaterdapat 2 syaratutama. Calonakanditerima BILA nilaites DIATAS 70 ataumemiliki NEM diatas 30 2. Padapenerimaanpegawai , syaratpertamaadalahusia 20-25 tahun. Buatprogramnyadengan JAVA. PR TI-3: 1: membuat day-hari dg switch 2.Kasus 1: walaunilaites >70 tetapi NEM dibawah 20  DITOLAK 3. Diberikomentar ..kenapaditolak. Misalkalauumur 160 thdiberikomentar : TerlaluTuadll Algoritma - JAVA oleh M. Guntara

  42. Variabellarik (1)(array variable) • Digunakan untuk menampung banyak data dengan 1 variabel. Antar data dibedakan dari indexnya. • Kegunaan • Operasi matematis dengan banyak data • Matrix • Pengurutan • Dll Misal : Algoritma - JAVA oleh M. Guntara

  43. Variabellarik/var array/var index (2) Algoritma - JAVA oleh M. Guntara

  44. Deklarasi array Deklarasi array tunggal : Tipedatavar=new tipedata(n) Dengan n: cacah data misal int x =new int(3). makscacah data 5 buah Pemberiannilaipada array Cara 1 : x [0] =10; x [1] =50; x [2] =20; • Cara 2 : int x[]={10,50,20}; tanpaperludeklarasiawalsptdiatas Algoritma - JAVA oleh M. Guntara

  45. Array 2 dimensi kolom baris Deklarasi : tipedatavar=new tipedata[m][n] m,n : cacah data Misal : intnilai= new int[3][2]; Pengisianvariabel nilai [0][0]=8; nilai [0][1]=5; nilai [1][0]=2; nilai [1][1]=6; nilai [2][0]=4; nilai [2][1]=9; Cara lain intnilai[][]={ { 8,5}, {2,6}, {4,9} }; tidakperluadadeklarasisepertidiatas Algoritma - JAVA oleh M. Guntara

  46. Pengurutan (Sorting) Jenis : • Urutnaik (Ascending) , • Misal : 12, 34, 56, 100 • UrutTurun (Descending) • Misal : 100, 56,34,12 BerdasarTipe Data • PengurutanAngka • Membandingkanangkaterdekatdengan <atau> • Pengurutan alphabet/ alphanumerik/string /character • Membandingkan character/string terdekatdengancompareTo Algoritma - JAVA oleh M. Guntara

  47. Pencarian/Searching Metode (materiinitelahdijelaskandikelas) Linier search Binary Searc Algoritma - JAVA oleh M. Guntara

  48. Method • Dijelaskandikelassaatpertemuan ke-12 (terakhir) • PelajaridariBuku AlgoritmadanPemrogramanoleh LN HarnaningrumBab V.1 sd V.4 Algoritma - JAVA oleh M. Guntara

  49. Kumpulan kode java Klik DISINI Belajar yang paling baikadalah PRAKTEKKANLAH …….! Algoritma - JAVA oleh M. Guntara

More Related