Algoritma & Pemrograman 3 sks

49
Algoritma - JAVA oleh M. Guntara 1 Algoritma & Pemrograman 3 sks STMIK AKAKOM M. Guntara

description

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 - PowerPoint PPT Presentation

Transcript of Algoritma & Pemrograman 3 sks

Page 1: Algoritma & Pemrograman 3 sks

Algoritma - JAVA oleh M. Guntara 1

Algoritma & Pemrograman3 sks

STMIK AKAKOM M. Guntara

Page 2: Algoritma & Pemrograman 3 sks

Algoritma - JAVA oleh M. Guntara 2

Page 3: Algoritma & Pemrograman 3 sks

3Algoritma - 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

Page 4: Algoritma & Pemrograman 3 sks

4Algoritma - JAVA oleh M. Guntara

Pert-2:Contoh 1 Algoritma mengendarai motor jenis

bebek Sederhana(motor kondisi sempurna)

1. Masukkan kunci motor 2. Putar pada posisi ON3. Starter motor4. Masukkan gigi persneling 15. Putar gas perlahan 6. Setelah mencapai putaran tertentu putar gas

pada posisi ter rendah7. Masukkan ke gigi berikutnya

Page 5: Algoritma & Pemrograman 3 sks

5Algoritma - JAVA oleh M. Guntara

Contoh 2 Algoritma mengendarai motor jenis bebek

Lebih komplex(motor lama/kurang fit)

1. Masukkan kunci motor 2. Putar pada posisi ON3. Tekan Starter motor4. Apakah mesin menyala ? Bila ya lakukan langkah 8 , bila tidak

lakukan langkah 55. Apakah Penekanan starter sudah 3 kali, bila ya lakukan langkah 6

bila tidak ke langkah 86. Gunakan kick starter7. Apakah mesin menyala ? Bila ya lakukan langkah 8, bila tidak ke

langah 128. Masukkan gigi persneling 19. Putar gas perlahan 10. Setelah mencapai putaran tertentu putar gas pada posisi ter rendah11. Masukkan ke gigi berikutnya 12. Selesai

Page 6: Algoritma & Pemrograman 3 sks

6Algoritma - JAVA oleh M. Guntara

Contoh 3 Menghitung Luas Segi Empat

1. Masukkan panjang2. Masukkan lebar3. Hitung luas=panjang x lebar4. Tampilkan luas

Ujian masuk STMIK AKAKOM1. Mendaftar2. Melakukan tes on line3. Apakah nilai tes lebih besar batas yang ditentukan ,

bila ya lakukan langkah 4, bila tidak langkah 54. Registrasi mahasiswa baru5. Selesai

Page 7: Algoritma & Pemrograman 3 sks

7Algoritma - JAVA oleh M. Guntara

Cara kerja/'berpikir' komputer

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 lnSystem.out, s.d.a. system.out atau System,out Indetifikasi data exact (karakter

per karakter)Misal :DIY D I Y DI Yogya Yogyakarta Jogjakarta

Jogyakarta12000 rupiah Rp 12000 12000M. Guntara Mohammad Guntara M. Guntoro

Muhammad Guntara

Prediktif16/3 = ?

(Kira-kira 5)

Pasti16/3 = 5,33333333

Page 8: Algoritma & Pemrograman 3 sks

8Algoritma - JAVA oleh M. Guntara

Rumus/Persamaan dlm program komputer

harus berupa PERSAMAANLuasnya_berapa_ya=panjang_loh*lebar_dab

Tidak boleh berupa pertidak samaanLuas> panjang*lebar_dab salah

Disebelah kiri persamaan harus berupa 1 VARIABEL X=Y+5X=X+Y

\ Selain 1 variabel tidak diperbolehkanX+Y=5 , X+1=Y=12 salah5=x+2

Persmaaan harus dalam 1 BARIS TI 3-II-29092010- -|

Page 9: Algoritma & Pemrograman 3 sks

9Algoritma - JAVA oleh M. Guntara

Pert-3:Anatomi Persamaan/rumus

Konstanta Variabel Tipe /jenis data Operator Hirarki operasi

Page 10: Algoritma & Pemrograman 3 sks

10Algoritma - JAVA oleh M. Guntara

Konstanta dan jenis-nya

1.Numerik : Berupa bilangan : bulat (2323, -2323),

pecahan (0.1234, 200.75) Untuk operasi perhitungan

2. String, alpanumerik, character• Nama : Sutiyo, Suziku, Yahaha, Di2k, • Alamt : Jl wira wiri 13 Yogya• Id (identifier) : no mahasiswa (105410007), nomor telpon

(081227671716) NIP (2323232323)• Non perhitungan

Page 11: Algoritma & Pemrograman 3 sks

11Algoritma - JAVA oleh M. Guntara

Variabel Berupa kumpulan angka, huruf, dan

simbol tertentu (hanya _)jumlah1, harga_satuan,

tokek2000,Z1Z1Z1ZZZZZZZZ

Tidak didahului dengan angkaMisal : 123XX salah

XXX123 benar TIDAK BOLEH ada spasi

Page 12: Algoritma & Pemrograman 3 sks

12Algoritma - JAVA oleh M. Guntara

Operator matematis() priority* perkalian/ pembagian+ penambahan- pengurnagan% modulus atau sisa bagi

Page 13: Algoritma & Pemrograman 3 sks

13Algoritma - JAVA oleh M. Guntara

Hirarki

1.()2.* , / , % setara,

didahulukan yg letak di depan3.+ , -

Page 14: Algoritma & Pemrograman 3 sks

14Algoritma - JAVA oleh M. Guntara

Latihan Terdapat persamaan

x+10 = y-

Buat persmaaan tersebut untuk programming !

Penyelesaian x= y – (20 + z*z)/3 -10

2

320 z

Page 15: Algoritma & Pemrograman 3 sks

15Algoritma - JAVA oleh M. Guntara

Pert-4:Algoritma Decission (1) Misal : (1) menentukan suatu nilai tes diterima atau

tidak dengan kriteria bilai nilai 60 ke atas DITERIMA,

Penyelesaian1.Masukan nilai_tes2. Jika nilai_tes >= 60 , bila YA tampilkan teks

: DITERIMA, jika TIDAK, tampilkan teks “GAGAL”

condition

Page 16: Algoritma & Pemrograman 3 sks

16Algoritma - JAVA oleh M. Guntara

Algoritma Decission (2)(2) menentukan suatu nilai tes dengan kriteria60-100 : DITERIMA40-59:CADANGAN0-39 : DITOLAK

Penyelesaian1. Masukkan nilai_tes2. Jika nilai_tes >= 60, bila YA tampilkan “DITERIMA”3. Bila tidak apakah 40 <=nilai_tes<60 , bila YA, tampilkan

“CADANGAN”4. Bila Tidak tampilkan “DITOLAK”

Algoritma - JAVA oleh M. Guntara

Page 17: Algoritma & Pemrograman 3 sks

17Algoritma - JAVA oleh M. Guntara

Flowchart Program Alur logika program komputer yang dituangkan

dalam bentuk bagan/grafis (penuangan algoritma dalam bentuk bagan)

Tujuan : agar logika (alur berpikir) suatu program komputer mudah dan cepat diketahui/difahami

Jenis Flowchart program yang dipakai di algoritma (menggunakan JAVA) adalah Activity Diagram

terdapat 2 kelompok besar untuk menuangkan flowchart1. flowcart program terstruktur , merupakan jenis flowchart pertama dan digunakan untuk

berbagai bhs pemrograman terstrukur (C++,Basic, Pascal, Fortran, dll)2.Unified Modelling Language (UML) , berupa penggambaran dlaam bentuk grafis/bagan yang

mereprestasikan aktifitas program . Jenis ini sesuai untuk digunakan di bahasa pemorghramanb berorientasi obyek (misal : JAVA)

Salah satu bentuk UML adalah DIAGRAM ACTIVITAS (activity duagram)

Algoritma - JAVA oleh M. Guntara

Page 18: Algoritma & Pemrograman 3 sks

18Algoritma - JAVA oleh M. Guntara

Bentuk Diagram

Algoritma - JAVA oleh M. Guntara

Aktifitas

Urutan/arah aktifitas

Mulai aktifitas

Percabangan/decission/keputusan

Akhir aktifitas

Page 19: Algoritma & Pemrograman 3 sks

19Algoritma - JAVA oleh M. Guntara

Contoh Activity Diagram (1)

Algoritma :Menghitung Luas Segi Empat1. Masukkan panjang2. Masukkan lebar3. Hitung

luas=panjang x lebar

4. Tampilkan luas

Algoritma - JAVA oleh M. Guntara

Masukkan panjang dan

lebar

HitungLuas=panjang*leb

ar

Tampilkan Luas

Page 20: Algoritma & Pemrograman 3 sks

20Algoritma - JAVA oleh M. Guntara

Contoh Activity Diagram (2)

1. Masukan nilai_tes

2. Jika nilai_tes >= 60 , bila YA tampilkan teks : DITERIMA, jika TIDAK, tampilkan teks “GAGAL”

Algoritma - JAVA oleh M. Guntara

Masukkan nilai_tes

Tampilkan “DITOLAK”

Tampilkan “DITERIMA

TIDAKYA

Nilai_tes>=60

Kondisi (condition)

Page 21: Algoritma & Pemrograman 3 sks

21Algoritma - JAVA oleh M. Guntara

Latihan TI-4 21 Oktober 2010 TI3-28 Okt2010 Buat algoritma dan activity diagram untuk

menghitung jumlah_gaji dan besar pajak dengan kriteria sebagai berikut

Jumlah_gaji merupakan penjumlahan dari gaji_pokok dan tunjangan

Bila jumlah_gaji >=10 juta, prosen_pajak 20%, bila dibawah 10 juta prosen_pajak 10%

Besar_pajak= prosen_pajak * jumlah_gaji

Algoritma - JAVA oleh M. Guntara

Page 22: Algoritma & Pemrograman 3 sks

22Algoritma - JAVA oleh M. Guntara

Algoritma1. Memasukkan gaji_pokok2. Masukkan tunjangan3. Hitung

jumlah_gaji=gaji_pokok+tunjangan4. Apakah jumlah_gaji>=10.000.000 , bila

ya , prosen_pajak=20%, bila TIDAK , prosen_pajak=10%

5. Hitung besar_pajak=prosen_pajak*jumlah_gaji

6. Tampilkan jumlah_gaji dan besar_pajak

Page 23: Algoritma & Pemrograman 3 sks

23Algoritma - JAVA oleh M. Guntara

Latihan (PR TI-4 21Okt2010)

Buat Activity Diagram untuk algoritma sbb

1.Masukkan nilai_tes2.Jika nilai_tes >= 60, bila YA tampilkan

“DITERIMA”3.Bila tidak apakah 40

<=nilai_tes<60 , bila YA, tampilkan “CADANGAN”

4.Bila Tidak tampilkan “DITOLAK”

Page 24: Algoritma & Pemrograman 3 sks

24Algoritma - JAVA oleh M. Guntara

Latihan 2 TI 4 28Okt2010

Buat Activity Diagram untuk algoritma sbb1. Masukkan simpanan2. Jika simpanan diatas 10 juta bunga =20%3. Jika simpanan 5 juta – 10 juta, bunga =10%4. Jika simpanan lebih kecil 5 juta, tidak ada

bunga5. Hitung besar_bunga = bunga * simpanan6. Tampilkan besar_bunga

Buat activity diagram nya

Page 25: Algoritma & Pemrograman 3 sks

25Algoritma - JAVA oleh M. Guntara

Java Programming Struktur program dasarBentuk umum public class namaclass{public static void main(String args[]){... Kode program....}}Catatan :- Nama file memikiki tambahan (extension) .java, dan nama file sama dengan

namaclass-nya . Misal namaclass : hitung, maka nama filenya : hitung.java- Pada naskah/bentuk umum program ,

- font regular (tegak) adalah perintah baku/ reserved word/ command/ kode program / coding /instruksi

- Font italic (miring), sesuai kebutuhan/keinginan pemrogram/ bebas - Perintah/kode program JAVA adalah CASE SENSITIVE (huruf besar dan kecil

dibedakan, artinya kalau perintah dalam huruf besar maka HARUS ditulis huruf besar dan sebaliknya)

Page 26: Algoritma & Pemrograman 3 sks

26Algoritma - JAVA oleh M. Guntara

Perintah JAVA (1)Menampilkan teks

System.out.println(“teks”);System.out.println(variabel/kontanta);

System.out.println(“teks”+variabel/konstanta);

Bila hanya print (tanpa ln) maka teks tidak berganti baris

TI3-V-20_Okt2010

Page 27: Algoritma & Pemrograman 3 sks

27Algoritma - JAVA oleh M. Guntara

Perintah JAVA (2)Jenis /Tipe data –dasar (1) Byte, untuk bilangan bulat 2-8 sd. 28 atau

-128 s.d. 127instruksi:

byte variabel ;

Short, untuk bilangan bulat 2-16 sd. 216 atau -32768 s.d. 32767instruksi:

short variabel ; integer, untuk bilangan bulat 2-32 sd. 232 atau -2.147.483.

648 s.d. 2.147.483.647instruksi:

int variabel

Page 28: Algoritma & Pemrograman 3 sks

28Algoritma - JAVA oleh M. Guntara

Perintah JAVA (3)Jenis /Tipe data –dasar (2) Double , untuk bilangan pecahan

Instruksi double variabel ;

Char, untuk data karakter simbol)Instruksi

char variabel ; String, untuk data teks

Instruksi String variabel ;

Page 29: Algoritma & Pemrograman 3 sks

29Algoritma - JAVA oleh M. Guntara

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

Page 30: Algoritma & Pemrograman 3 sks

30Algoritma - JAVA oleh M. Guntara

Contoh (2):Penggunaan doublepublic class hitung2{public static void main(String args[]){double a=23;double b=1.7565656Double hasil;hasil= a/b;System.out.println("Hasil "+hasil);}}Catatan :Untuk operasi pembagian dengan hasil pecahan maka SEMUA variabel harus berupa double atau float

Page 31: Algoritma & Pemrograman 3 sks

31Algoritma - JAVA oleh M. Guntara

Java : Output/Input

Menampilkan TeksSystem.out.println(“teks” ); menampilkan teks System.out.println (variabel); menampilkan isi variabel

System.out.println(“teks”+variabel) ; gabungan teks dan variabel

Page 32: Algoritma & Pemrograman 3 sks

32Algoritma - JAVA oleh M. Guntara

Java:Output/Input(2)

Pemasukan dan lewat keyboard

Scanner .variabel1=new Scanner (System.in); membuat input

variabel2=variabel1.nextInt() bila data Integervariabel2=variabel1.nextDouble() bila data pecahvariabel2=variabel1.nextString() bila dana String/Charakter

Page 33: Algoritma & Pemrograman 3 sks

33Algoritma - JAVA oleh M. Guntara

TUGAS KELOMPOK maks 3 orang

Dengan pemrograman JAVA buat program untuk (plilih salah satu)

1. Konversi suhu dari Celcius ke Fahrenheit2. Konversi suhu dari Fahrenheit ke Celsius3. Menghitung Luas segitiga4. Menghitung Luas lingkaran Data diinputkan via keyboardKirimkan file .java ke [email protected] subyek; TUGAS ALGORITMA TI 3, maks 1

minggu Tulis anggota kelompok di kode programnya

Page 34: Algoritma & Pemrograman 3 sks

34Algoritma - JAVA oleh M. Guntara

Java: Keputusan (1)Keputusan (decission) tunggal

If (kondisi) Salah Benar

pernyataan;

Bila lebih 1 baris pernyataan

If (kondisi){ benar salah

pernyataan1;pernyataan2;…………

}

Catatan :

Kondisi : berupa pembandingan antar 2 variaba/konstanta

Kondisi :

Variabel1/konstanta1 OPR Variabel2/konstanta2

OPR : operator relasi (==, <,>,<=.>=,!=)

Page 35: Algoritma & Pemrograman 3 sks

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

Page 36: Algoritma & Pemrograman 3 sks

36Algoritma - JAVA oleh M. Guntara

Java: Keputusan (2)Keputusan ganda (double decission)

if (kondisi){ benarpernyataan-pernyataan 1}

Else salah{pernyataan-pernyataan 2}

TI 4 Sabtu,4 Des 2010 --|

Kondisi : berupa pembandingan antar 2 variaba/konstanta

Kondisi :

Variabel1/konstanta1 OPR Variabel2/konstanta2

OPR : operator relasi (==, <,>,<=.>=,!=)

Pernyataan : perintah –perintah yang sesuai dengan keputusannya

Page 37: Algoritma & Pemrograman 3 sks

37Algoritma - JAVA oleh M. Guntara

Java: Keputusan (3)Keputusan jamak (multiple decission)

if (kondisi1){ benar salahpernyataan-pernyataan 1}

else if (kondisi2) salah { benar pernyataan-pernyataan 2 salah}

Else { pernyataan-pernyataan 3}

Kondisi : berupa pembandingan antar 2 variaba/konstanta

Kondisi :

Variabel1/konstanta1 OPR Variabel2/konstanta2

OPR : operator relasi (==, <,>,<=.>=,!=)

Pernyataan : perintah –perintah yang sesuai dengan keputusannya

Page 38: Algoritma & Pemrograman 3 sks

38Algoritma - JAVA oleh M. Guntara

KasusBuat 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

Page 39: Algoritma & Pemrograman 3 sks

39Algoritma - JAVA oleh M. Guntara

Java: Keputusan (3)Keputusan jamak (multiple decission)

if (kondisi1){ benar salahpernyataan-pernyataan 1}

else if (kondisi2) salah { benar pernyataan-pernyataan 2 salah}

Else { pernyataan-pernyataan 3}

Kondisi : berupa pembandingan antar 2 variaba/konstanta

Kondisi :

Variabel1/konstanta1 OPR Variabel2/konstanta2

OPR : operator relasi (==, <,>,<=.>=,!=)

Pernyataan : perintah –perintah yang sesuai dengan keputusannya

Page 40: Algoritma & Pemrograman 3 sks

40Algoritma - JAVA oleh M. Guntara

Java: Keputusan (4)Keputusan jamak dengan switch(kondisi menggunakan/merupakan persamaan)

switch(variabel)case nilai_1:

pernyataan_1; break; case nilai_2: pernyataan_2; break;………..default:

pernyataan_x;

Maksud :

Bila nilai_1 = variabel , mengerjakan pernyataan_1Bila nilai_2= variabel , mengerjakan pernyataan_2

Dst

Bila tidak ada yang sesuai , mengerjakan pernyataan_x

Page 41: Algoritma & Pemrograman 3 sks

41Algoritma - JAVA oleh M. Guntara

Kondisi JamakKasuS :

1. Pada penerimaan mahasiswa terdapat 2 syarat utama.Calon akan diterima BILA nilai tes DIATAS 70 atau memiliki NEM diatas 30

2. Pada penerimaan pegawai , syarat pertama adalah usia 20-25 tahun. Buat programnya dengan JAVA.

PR TI-3:1: membuat day-hari dg switch2.Kasus 1: walau nilai tes >70 tetapi NEM dibawah 20

DITOLAK3. Diberi komentar ..kenapa ditolak. Misal kalau umur

160 th diberi komentar : Terlalu Tua dll

Page 42: Algoritma & Pemrograman 3 sks

42Algoritma - JAVA oleh M. Guntara

Variabel larik (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 :

Page 43: Algoritma & Pemrograman 3 sks

43Algoritma - JAVA oleh M. Guntara

Variabel larik/var array/var index (2)Var Tunggal Var aray

Pemberian nilai :A=10 b=20 c=5 d=2 e=12

Persamaan

Jum=a+b+c+d+e

Catatan :Bila cacah data bertambah maka harus mengubah rumus

n[0]=10 n[1]=20 n[2]=5 n[3]=2 n[4]=12

Jum = n[0]+n[1]+n[2]+n[3]+n[4] Diubah menjadi

For(int i=0;i<5;i++){Jum=jum+n[i]}

Bila cacah data bertambah TIDAK PERLU mengubah rumus, cukup mengubah batas cacah data

Page 44: Algoritma & Pemrograman 3 sks

44Algoritma - JAVA oleh M. Guntara

Deklarasi arrayDeklarasi array tunggal :Tipedata var=new tipedata(n)

Dengan n: cacah data

misal int x =new int(3). maks cacah data 5 buah

Pemberian nilai pada array Cara 1 :

x [0] =10;x [1] =50;x [2] =20;

Cara 2 : int x[]={10,50,20}; tanpa perlu deklarasi awal spt diatas

Page 45: Algoritma & Pemrograman 3 sks

45Algoritma - JAVA oleh M. Guntara

Array 2 dimensiDeklarasi : tipedata var=new tipedata[m][n] m,n : cacah dataMisal : int nilai= new int[3][2];Pengisian variabelnilai [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 int nilai[][]={ { 8,5},

{2,6}, {4,9}}; tidak perlu ada deklarasi seperti diatas

8 52 64 9

bariskolom

Page 46: Algoritma & Pemrograman 3 sks

46Algoritma - JAVA oleh M. Guntara

Pengurutan (Sorting)Jenis : Urut naik (Ascending) ,

◦ Misal : 12, 34, 56, 100 Urut Turun (Descending)

◦ Misal : 100, 56,34,12Berdasar Tipe Data Pengurutan Angka

◦ Membandingkan angka terdekat dengan < atau > Pengurutan alphabet/ alphanumerik/string /character

◦ Membandingkan character/string terdekat dengan compareTo

Page 47: Algoritma & Pemrograman 3 sks

47Algoritma - JAVA oleh M. Guntara

Pencarian/SearchingMetode (materi ini telah dijelaskan di kelas) Linier search Binary Searc

Page 48: Algoritma & Pemrograman 3 sks

48Algoritma - JAVA oleh M. Guntara

Method Dijelaskan di kelas saat pertemuan ke-12 (terakhir) Pelajari dari Buku

Algoritma dan Pemrograman oleh LN Harnaningrum Bab V.1 sd V.4

Page 49: Algoritma & Pemrograman 3 sks

49Algoritma - JAVA oleh M. Guntara

Kumpulan kode java

Klik DISINI

Belajar yang paling baik adalah PRAKTEKKANLAH …….!