500 likes | 818 Views
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
E N D
Algoritma & Pemrograman3 sks STMIK AKAKOM M. Guntara Algoritma - JAVA oleh 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 Urutan langkah-langkah logis penyelesaian masalah yang disusun sistematis Algoritma - JAVA oleh M. Guntara
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
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
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
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
Rumus/Persamaandlm program komputer • harusberupa PERSAMAAN Luasnya_berapa_ya=panjang_loh*lebar_dab • Tidakbolehberupapertidaksamaan Luas> panjang*lebar_dabsalah • 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
Pert-3:Anatomi Persamaan/rumus • Konstanta • Variabel • Tipe /jenis data • Operator • Hirarkioperasi Algoritma - JAVA oleh M. Guntara
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
Variabel • Berupakumpulanangka, huruf, dansimboltertentu (hanya _) jumlah1, harga_satuan, tokek2000, Z1Z1Z1ZZZZZZZZ • Tidakdidahuluidenganangka Misal : 123XX salah XXX123 benar • TIDAK BOLEH adaspasi Algoritma - JAVA oleh M. Guntara
Operator matematis () priority * perkalian / pembagian + penambahan - pengurnagan % modulus atau sisa bagi Algoritma - JAVA oleh M. Guntara
Hirarki • () • * , / , % setara, didahulukanygletakdidepan • + , - Algoritma - JAVA oleh M. Guntara
Latihan • Terdapatpersamaan x+10 = y- Buatpersmaaantersebutuntuk programming ! Penyelesaian x= y – (20 + z*z)/3 -10 Algoritma - JAVA oleh M. Guntara
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
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
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
Bentuk Diagram Aktifitas Urutan/arahaktifitas Mulaiaktifitas Percabangan/decission/keputusan Akhiraktifitas Algoritma - JAVA oleh M. Guntara Algoritma - JAVA oleh M. Guntara
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Algoritma - JAVA oleh M. Guntara Algoritma - JAVA oleh M. Guntara
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
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
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
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
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
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
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
Variabellarik/var array/var index (2) Algoritma - JAVA oleh M. Guntara
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
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
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
Pencarian/Searching Metode (materiinitelahdijelaskandikelas) Linier search Binary Searc Algoritma - JAVA oleh M. Guntara
Method • Dijelaskandikelassaatpertemuan ke-12 (terakhir) • PelajaridariBuku AlgoritmadanPemrogramanoleh LN HarnaningrumBab V.1 sd V.4 Algoritma - JAVA oleh M. Guntara
Kumpulan kode java Klik DISINI Belajar yang paling baikadalah PRAKTEKKANLAH …….! Algoritma - JAVA oleh M. Guntara