Lab. Common Computing– Universitas Trunojoyo Madura
Praktikum Pengantar Algoritma Pemrograman (ALPRO) [MODUL]
Ganjil 2013/2014
Modul 1: Flowchart & PseudoCode Tujuan Instruksi Khusus:
Mahasiswa dapat memahami penggunaan standar diagram flowchart
Mahasiswa dapat memahami penggunaan diagram flowchart untuk alur algoritma
Teori 1.1 Diagram Logika Flowchart Untuk menggambarkan alur logika dalam komputasi digunakan standar dasar pemodelan yaitu menggunakan flowchart. Flowchart menunjukkan aliran proses dari awal sampai penyelesaian komputasi. Dalam standar yang lebih kompleks flowchart juga dapat dimodelkan dalam Unified Modelling Language (UML) yaitu menggunakan diagram activity. Dimana diagram activy adalah flowchart yang melibatkan berbagai interaksi pengguna ataupun domain sistem. Standar model flowchart, Simbol Proses lojik Menunjukkan tahapan berjalannya proses Process
Predefined Process
komputasi Menunjukkan subproses atau subrutin dari berjalannya proses, atau proses didalam proses Menunjukkan langkah perulangan dari
Preparation
aliran suatu proses Menunjukkan
Decision
keputusan proses
alternatif
pemilihan
Menunjukkan proses alternatif yang bisa Alternate
digunakan diluar proses normal Menunjukan penundaan proses
Delay
Menunjukkan Manual Operation
proses
manual
yang
dilakukan oleh pengguna
Simbol Koneksi Menunjukkan arah dan hubungan antar Flow
proses Menunjukkan
Terminator
selesainya
keseluruhan proses Menunjukkan
Connector
akhir
hubungan
antar
bagian
proses yang terputus Menunjukkan proses yang berbeda
Or
Menunjukkan campuran proses yang bisa Sum
berjalan bersamaan Menunjukan penggabungan proses
Merge
Menunjukkan pemisahan Extract
Simbol Input-Output Memberikan Data
parameter
input
dan
menghasilkan output (I/O) Input manual
Manual Input
Menunjukkan tampilan di Layar Display
Menunjukkan output dokumen manual Document
1.2 Flowchart Algoritma Untuk menunjukkan proses algoritma pemrograman sehingga mudah untuk dimengerti dapat menggunakan standar flowchart. Percabangan, a
Percabangan Kondisi Terpenuhi?
Y
Aksi 1 T Aksi lain
b
Contoh logika,
Jika suhu panas pakailah T-Shirt berwarna cerah, Jika suhu dingin pakailah jaket berwarna gelap.
Perulangan b
Selama Kondisi
Aksi
Kondisi Terpenuhi ? T
Y
c
Contoh logika,
Selama 10 jam belajarlah didepan laptop untuk menguasai pemrograman.
Sejauh 10 langkah kedepan cobalah lihat kanan-kiri untuk mencari kunci motormu yang hilang.
Contoh implementasi, Dari masukan bilangan bulat 1..10 tentukan keluaran bilangan ganjil, dan genap. Mulai
Masukan bilangan bulat input 1..10
Selama Kondisi input 1..10
input modulus 2 == 0 ?
T
Y Masukkan daftar bilangan genap
Masukkan daftar bilangan ganjil
Tampilkan bilangan genap
Tampilkan bilangan ganjil
Input <= 10 ?
Selesai
1.3 PseudoCode Pseudocode adalah metode penulisan bahasa inggris sederhana yang merepresentasikan lojik algoritma pemrograman. Pseudo berarti tiruan, sedangkan Code adalah kode program sehingga pseudocode bisa disebut sebagai kode tiruan dari program sebenarnya yang dituliskan dalam standar bahasa inggris untuk mendekatkan dengan perintah-perintah yang terdapat pada bahasa pemrograman. Pada dasarnya struktur pseudocode hanya dibagi atas 6 perintah yaitu : 1.
Sequence, memiliki cakupan perintah yang luas untuk perintah eksekusi proses,contoh diantara kata kunci yang sering digunakan
Input: READ, OBTAIN, GET Contoh: READ height; READ Weights; OBTAIN range; GET radius
2.
Output: PRINT, DISPLAY, SHOW
Perhitungan: COMPUTE, CALCULATE, DETERMINE
Inisialisasi: SET, INIT
Counter: INCREMENT, DECREMENT, DELAY
While, digunakan untuk menyatakan perulangan dengan pengujian kondisi diawal (*lebih sesuai untuk perulangan tanpa batas yang tetap) Contoh: WHILE condition Sequence ENDWHILE
3.
If-Then-Else, digunakan untuk menyatakan persyaratan lojik kebenaran atau disebut BOOLEAN. Contoh: IF condition THEN sequence 1 ELSE sequence 2 ENDIF
4.
Repeat-Until, digunakan untuk menyatakan perulangan dengan pengujian kondisi akhir. Contoh:
REPEAT Sequence UNTIL condition 5.
For, digunakan untuk menyatakan perulangan dengan batasan range sejumlah angka tertentu. Contoh: FOR count=0 TO 10 DO sequence ENDFOR
6.
Case, digunakan untuk pilihan kondisi tertentu, Contoh: CASE grade OF “A”
: points = 4
“B”
: points = 3
“C”
: points = 2
“D”
: points = 1
“F”
: points = 0
ENDCASE
*Aturan dasar Penulisan pseudocode:
Lebih mudah gunakan huruf kapital untuk menyatakan fungsi atau prosedur
Gunakan huruh kecil untuk penulisan variable
Contoh pseudocode untuk memasak Indomie Goreng: BEGIN SET flavour IN plate OBTAIN pan WITH 1l OF water SET pan IN stove BURN-UP stove DELAY 30 Seconds SET indomie IN pan
FOR 1..5 MINUTE DO STIR-UP indomie ENDFOR FILTER indomie AND water SET indomie IN plate REPEAT MIX indomie AND flavour UNTIL average END
Instruksi Praktikum, 1. Pelajari teori terkait pembahasan, gunakan pemodelan sederhana dengan menggunakan M. Word untuk membuat flowchart
Tugas Pendahuluan, 1. Jawablah Pertanyaan berikut terkait algoritma:
Apa yang dimaksud persyaratan kondisi...?, apa perbedaan pada penggunaan IF-THEN-ELSE dengan CASE. Ilustrasikan kondisi yang sesuai untuk penggunaan kedua pseudocode tersebut.
Apa yang dimaksud dengan perulangan, jelaskan perbedaan pada perulangan dengan menggunakan WHILE, REPEAT-UNTIL dan FOR. Ilustrasikan kondisi yang sesuai untuk penggunaannya.
Tugas Praktikum, 1. Buatlah Flowchart dan PseudoCode untuk algoritma deret faktorial sebagai berikut, faktorial(5) = 1*2*3*4*5 2. Buatlah Flowchart dan PseudoCode untuk algoritma membuat Omlet Telur. 3. Buatlah Flowchart dan Pseudocode untuk proses disekeliling anda yang anda ketahui. Tugas Tambahan, 1. Buatlah Flowchart dan PseudoCode untuk algoritma mengecek bilangan prima atau bukan prima.
Modul 2: Pengantar Bahasa JAVA Tujuan Instruksi Khusus:
Mahasiswa dapat memahami penggunaan dasar bahasa pemrograman JAVA
Mahasiswa
dapat
mentranslasikan
flowcart
dan
pseudocode
kedalam
bahasa
pemrograman JAVA Bahasa pemrograman yang dijadikan implementasi eksekusi algoritma dalam praktikum ini adalah bahasa JAVA. Bahasa JAVA pada dasarnya adalah bahasa pemrograman berbasis obyek, namun dalam praktikum ini penggunaan obyek diminimalisir. Konsep dasar JAVA yang perlu dikuasai pada modul ini adalah: 1. Pengenalan Tipe Data 2. Lojik persyaratan dan perulangan 3. Fungsi dan Prosedur
Teori 1.1 Pengenalan Tipe Data Tipe data merupakan jenis ukuran dan tipe dari register memori yang digunakan oleh variabel untuk menyimpan nilai operan tertentu didalam program. Bentuk dasar tipe data dibagi atas dua jenis yaitu: 1. Tipe data Primitif, Tipe data Primitif mulai dikenal pada bahasa pemrograman prosedural seperti: Pascal, C, atau Basic. Dimana tipe data ini memiliki ukuran memori yang tetap dan pasti, diantaranya: m
Integer : byte (8 byte), short (16 b), int (32 b), long (64 b)
Floating point: float (32 byte), double(64 b), decimal(128 b), bigDecimal(256 b)
Booleans: boolean(1 bit)
Characters: char(1 byte)
public class Primitif { public static void main(String[] args) { String s = "Hello Java, I Love You ...."; char c = 'a'; int i = 1; double f = 0.5; double d = i/f; System.out.println("Hasil Bagi "+i+" : "+f+" = "+d); } }
2. Tipe data komplek, Yang digunakan pada praktikum ini hanya koleksi array, matriks dan List. Array dan matriks adalah tipe data koleksi atau deret kelompok yang bersifat statis sedangkan List bersifat dinamis. Array, public class array { public static void main(String[] arg){ int index = 10; int [] ary= new int[index]; ary[0] = 1; ary[1] = 2; ary[3] = 100; System.out.println("Array indeks keempat menyimpan nilai "+ary[3]); } }
Matriks, public class Matriks { public static void main(String[] arg){ int bar = 10; int kol = 10; double [][] matrik = new double[bar][kol]; matrik[0][0] = 1; matrik[0][1] = 0; matrik[1][0] = 0; matrik[1][1] = 1; } }
List, public class Listi { public static void main(String[] args) { List l = new ArrayList(); l.add(1); l.add(2); l.add(1000); for (Integer i : l) { System.out.print(i); } } }
1.2 Lojik Percabangan dan Perulangan Percabangan Lojik percabangan digunakan untuk menentukan pilihan aliran program yang akan dieksekusi sesusi dengan kondisi yang ditentukan. Terdapat dua kombinasi percabangan yaitu IF-THENELSE dan Switch-Case, contoh: IF-THEN-ELSE import java.util.ArrayList; import java.util.List; public class percabangan { public static void main(String[] args) { List genap = new ArrayList<>(); List ganjil = new ArrayList<>(); for(int i=0; i<=100; i++){ if(i%2==0){ System.out.println("genap"); genap.add(i); } else{ System.out.println("ganjil"); ganjil.add(i); } } System.out.println("Daftar bilangan genap: "); for(Integer i:genap){ System.out.println(i+","); } System.out.println("Daftar bilangan ganjil: "); for(Integer i:ganjil){ System.out.println(i+","); } } }
Switch-Case public class switchcase { public static void main(String[] args) { int month = 6; String monthString; switch (month) { case 1: monthString = "January"; break; case 2: monthString = "February"; break; case 3: monthString = "March"; break; case 4: monthString = "April"; break; case 5: monthString = "May"; break; case 6: monthString = "June"; break; case 7: monthString = "July"; break; // etc etc default: monthString = "Invalid month"; break; } System.out.println(monthString); } }
Perulangan Terdapat tiga perulangan yang dapat digunakan di JAVA yaitu: While, do..While, dan For. While public class whileloop { public static void main(String args[]) { int x = 10; while( x < 20 ) { System.out.print("value of x : " + x ); x++; System.out.print("\n"); } } }
Do-While public class dowhile { public static void main(String args[]){ int x = 10; do{ System.out.print("value of x : " + x ); x++; System.out.print("\n"); }while( x < 20 ); } }
For public class forloop { public static void main(String args[]) { for(int x = 10; x < 20; x = x+1) { System.out.print("value of x : " + x ); System.out.print("\n"); } } }
Instruksi Praktikum, 1. Pelajari teori terkait pembahasan, jalankan program contoh di Java IDE Netbeans
Tugas Pendahuluan, 1. Jawablah Pertanyaan berikut terkait penulisan bahasa java:
Sintaks apa sebagai pembatas BEGIN-END di Java
Apa perbedaan operator “=” dan”==” di JAVA
Apa perbedaan FOR statis dan FOR dinamis
2. Buatlah translasi dari flowchart preparation&decision kedalam penulisan program bahasa java 3. Apa yang dimaksud dengan koleksi, sebutkan dan jelaskan tipe data koleksi tersebut...!
Tugas Praktikum, 1. Buatlah program JAVA untuk algoritma deret faktorial sebagai berikut, faktorial(5) = 1*2*3*4*5 faktorial(4) = 1*2*3*4 faktorial(3) = 1*2*3 2. Buatlah program interaksi dengan input dan output untuk algoritma membuat Omlet Telur. 3. Buatlah program sebagaimana kasus pada modul 1 yang anda tentukan sendiri.
Tugas Tambahan, 1. Buatlah program untuk algoritma mengecek bilangan prima atau bukan prima.