algoritma & pemrograman 3 sks
Post on 23-Feb-2016
151 Views
Preview:
DESCRIPTION
TRANSCRIPT
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 …….!
top related