Algoritma & Pemrograman 3 sks

Post on 23-Feb-2016

151 views 1 download

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

Algoritma - JAVA oleh M. Guntara 1

Algoritma & Pemrograman3 sks

STMIK AKAKOM M. Guntara

Algoritma - JAVA oleh M. Guntara 2

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

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

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

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

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

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

9Algoritma - JAVA oleh M. Guntara

Pert-3:Anatomi Persamaan/rumus

Konstanta Variabel Tipe /jenis data Operator Hirarki operasi

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

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

12Algoritma - JAVA oleh M. Guntara

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

13Algoritma - JAVA oleh M. Guntara

Hirarki

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

didahulukan yg letak di depan3.+ , -

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

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

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

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

18Algoritma - JAVA oleh M. Guntara

Bentuk Diagram

Algoritma - JAVA oleh M. Guntara

Aktifitas

Urutan/arah aktifitas

Mulai aktifitas

Percabangan/decission/keputusan

Akhir aktifitas

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

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)

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

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

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”

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

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)

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

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

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 ;

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);}}

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

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

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

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 m_guntara@yahoo.comDengan subyek; TUGAS ALGORITMA TI 3, maks 1

minggu Tulis anggota kelompok di kode programnya

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 (==, <,>,<=.>=,!=)

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

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

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

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

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

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

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

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 :

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

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

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

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

47Algoritma - JAVA oleh M. Guntara

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

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

49Algoritma - JAVA oleh M. Guntara

Kumpulan kode java

Klik DISINI

Belajar yang paling baik adalah PRAKTEKKANLAH …….!