UNIVERSITAS MUHAMMADIYAH GRESIK

Salah satu Universitas di Kabupaten Gresik

Tampilkan postingan dengan label PEMROGRAMAN TERSTRUKTUR. Tampilkan semua postingan
Tampilkan postingan dengan label PEMROGRAMAN TERSTRUKTUR. Tampilkan semua postingan

Kamis, 31 Desember 2015

ALGORITMA

ALGORITMA, FLOWCHART dan PSEUDO-CODE
A.Langkah – langkah dalam Pemrograman Komputer
1.Mendefinisikan masalah
          Pada tahap ini, yang kita lakukan adalah menentukan masalah yang akan diselesaikan dengan menggunakan komputer dan apa inputan serta outputnya.
2.Menemukan solusi
         Setelah masalah didefinisikan, maka langkah berikutnya adalah menentukan solusi. Jika masalah terlalu kompleks, maka ada baiknya masalah tersebut dipecah menjadi modul-modul kecil agar lebih mudah diselesaikan.
3.Memilih algoritma
          Pilihlah algoritma yang benar-benar sesuai dan efisien untuk permasalahan tersebut.
4.Menulis program
         Pilihlah bahasa yang mudah dipelajari, mudah digunakan, dan lebih baik lagi jika sudah dikuasai, memiliki tingkat kompatibilitas tinggi dengan perangkat keras dan platform lainnya
5.Menguji program
          Setelah program jadi, silahkan uji program tersebut dengan segala macam kemungkinan yang ada, termasuk error-handlingnya sehingga program tersebut akan benar-benar handal dan layak digunakan.

B. Algoritma
1. Pengertian

1)Algoritma merupakan urutan langkah-langkah logis tertentu untuk memecahkan suatu masalah. Urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat – lompat (Dari Microsoft Press Computer and Internet Dictionaary 1997, 1998).
2)Algoritma merupakan alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. Alur pemikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain. Tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu (Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh Moh Sjukani hal 1).

2.Kegunaan algoritma :
         Untuk membantu seseorang dalam menyelesaikan suatu masalah berdasarkan pada pola pikirnya masing-masing.

3. Ciri – ciri algoritma :
a. Ada input
b. Ada proses
c. Ada output
d. Memiliki instruksi – instruksi yang jelas dan tidak ambigo
e. Harus mempunyai stoping role

4. Sifat algoritma :
1) Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman
2) Tidak tergantung pada suatu bahasa pemrograman
3) Notasi – notasinya dapat digunakan untuk seluruh bahasa manapun

5. Contoh dalam kehidupan sehari-hari :
Algoritma memasak mie instan :
1. Start
2. Rebus air hingga mendidih
3. Masukan mie instan ke dalam air mendidih tersebut
4. Tunggu bebrapa hingga mie terlihat matang
5. Jika mie sudah dirasa matang, angkat dan tiriskan
6. Capurkan bumbu – bumbu, dan aduk hingga rata.
7. End

C. Flowchart
1. Flowchat yaitu bentuk gambar/diagram yang mempunyai aliran satu atau dua arah secara sekuensial.
2. Kegunaan :
1) Untuk mendesain program
2) Untuk merepresentasikan program
3. Secara garis besar, unsur-unsur pemrograman adalah Input →Proses → Output.
Semua bahasa pemrograman, pasti mempunyai komponen-komponen sebagai berikut :
1) Input (scanf)
2) Percabangan (if, switch)
3) Perulangan (while, for, for each, loop)
4) Output (printf)
4. Simbol – simbol Flowcart :

5. Soal Dan Penyelsaian Dalam Flowchart:
         Jika A lebih besar dari B maka cetak expressi pertama. Jika sebaliknya maka cetak expressi selanjutnya.
Jawaban
Code
{
   int A=8, B=3 ;
if (A>B)
{
sout ("Siapkan Panci ") ;
sout ("\nIsi Panci Dengan Air Bersih Sampai Penuh") ;
sout ("\nNyalakan Kompor");
sout ("\Simpan Panci Di Atas Kompor Dan Tunggu Sampai Mendidih") ;
  }
else {
sout ("\nJika Sudah Mendidih Matikan Kompor Selesai");
}
}
D. Pseudo-code
1. Pengertian
         Pseudo-code yaitu kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh seseorang untuk menuliskan algoritma dari suatu permasalahan. Pseudo-code menggunakan bahasa yang hampir menyerupai bahasa pemrograman. Selain itu biasanya pseudo-code menggunakan bahasa yang mudah dipahami secara universal dan juga lebih ringkas dari pada algoritma

2. Bagian-bagian (blok) dalam teks algoritma:
1) JUDUL (header) algoritma
2) DEKLARASI algoritma
3) DESKRIPSI algoritma

DEKLARASI
{ Semua nama yang dipakai, meliputi nama tipe, nama tetapan, nama
peubah, nama prosedur dan nama fungsi didefinisikan di sini }

DESKRIPSI :
{ Semua langkah atau aksi algoritma dituliskan di sini }


Keterangan:
1) Pasangan tanda kurung kurawal (‘{‘ dan ‘}’) digunakan untuk memberikan komentar (untuk memperjelas maksud teks yang dituliskan).
Contoh Pseudo-code Menghitung Luas persegi panjang
1) Algoritma menghitung luas persegi panjang
1. Start
2. Deklarasikan luas, panjang, dan lebar
3. Masukan panjang
4. Masukan lebar
5. Nilai luas adalah panjang * lebar
6. Tampilkan Luas
7. End
Contoh Pseudo-code Menghitung Luas persegi panjang
1) Pseudo-code menghitung luas persegi panjang
//JUDUL (header) algoritma
menghitungLuasPersegiPanjang
{
//DEKLARASI algoritma
double luas
double panjang
double lebar
//DESKRIPSI algoritma
panjang = 10.5
lebar = 2
luas = panjang *lebar
print Luas Persegi Panjang = luas
}

Implementasi di java
class MenghitungLuasPersegiPanjang
{
public static void main(String[] args){
//mendeklarasikan variabel
double luas;
double panjang;
double lebar;
//masukan nilai panjang dan lebar
panjang = 10.5;
lebar = 2;
//proses hitung luas persegi panjang
luas = panjang * lebar;
//cetak hasil luas
System.out.print(“luas Persegi Panjang = ”+luas);
}
}

SWITCH CASE


A. Pengertian
Percabangan adalah suatu pilihan atau opsi dengan kondisi tertentu. Jika kondisi yang menjadi syarat terpenuhi, maka opsi atau pilihan dijalankan, jika tidak maka sebaliknya. Dalam java terdapat 4 macam jenis percabangan, if, if-else, else-if, dan juga switch. Keempat jenis ini memiliki penggunaan masing-masing. Disini kita akan membahas tentang percabangan switch case.
Switch case digunakan untuk percabangan yang kondisinya banyak. Sedangkan percabangan if  hanya bisa untuk menangani dua kondisi yaitu TRUE atau FALSE. Tapi jika kita ingin melakukan percabangan untuk peringkat nilai, contoh nilai A = sempurna, B = bagus, C = sedang, D = kurang, akan ribet jika kita menggunakan percabangan if untuk menyelesaikan kondisi tersebut. Untuk itu mari kita pelajari percabangan switch case.
Switch Case merupakan salah satu bentuk percabangan, bentuk dari Switch-case merupakan pernyataan yang dirancang khusus untuk menangani pengambilan keputusan yang melibatkan sejumlah atau banyak alternatif penyelesaian. Pernyataan switch-case ini memiliki kegunaan sama seperti if – else bertingkat. Kontruksi if - else yang bertingkat-tingkat seringkali membingungkan pembacaan alur program.
Pernyataan Switch lebih jarang digunakan dibandingkan dengan pernyataan if pada java. Tetapi lebih sering digunakan ketika kita ingin menuliskan percabangan ataupun pengambilan keputusan dengan sangat banyak pilihan. Jika pada percabangan terdapat pilihan banyak, maka perintah switch-case lebih dianjurkan daripada menggunakan if - else.
Tidak dianjurkan pada pilihan yang melibatkan jangkauan (range) tetapi dianjurkan pada pilihan berupa konstanta dan banyak misalnya untuk memilih menu. Java menyediakan intruksi Switch untuk memudahkan pembacaan alur program bercabang yang sangat banyak. meskipun Switch didesain untuk mengganti if - else, akan tetapi Switch memiliki batasan:
a) Variabel penentu harus bertipe Integer, atau yang cocok dengan Integer seperti character, boolean, byte, short dan long
b) Range data yang diperiksa bernilai 0 s/d 255.
Jika kamu ingat pernyataan main( ) pada program Java, pernyataan main memiliki parameter String[ ]args , dimana args merupakan argumen yang diberikan pada saat program dijalankan melalui konsol. Biasanya argumen yang diberikan berupa opsi bagaimana program harus dilaksanakan. Di sini pernyataan switch juga berguna untuk memilih bagaimana program akan berjalan. Jika kamu terbiasa atau pernah bergaul dengan Linux, maka tidak asing untuk menemukan perintah pada Linux seperti "ls -l" atau "tar xfz blabla". Di sini ls atau tar adalah nama program dan "-l" atau "xfz blabla" adalah argumen yang diberikan pada saat program dijalankan.

B. Fungsi
a) Digunakan ketika kita ingin menuliskan percabangan ataupun pengambilan keputusan dengan sangat banyak pilihan
b) Digunakan ketika kita ingin menuliskan percabangan multi arah
c) Instruksi switch case digunakan sebagai instruksi pemilihan dimana aksi yang akan dilakukan bergantung pada nilai dari satu macam variabel saja.


C. Cara Program

switch(ekspresi){
case konstanta -1:
pernyataan -1;
pernyataan -2;
…..
break;
case konstanta -2:
pernyataan -1;
…..
break;
case konstanta -n:
pernyataan -n;
…..
break
default :
…..
…..
break;
}
Konsep di atas menjelaskan bawah untuk pernyataan adalah nilai yang akan diseleksi dan akan dibuat case pada setiap case untuk setiap nilai dari variable yang sesuai.
Keterangan :
case nilai: (nilai yang sama dengan variabel)
Pernyataan;
break;
Adalah pernyataan yang dikerjakan jika nilai sesuai dengan nilai variabel di dalam sebuah switch (nilai) yang diberikan.
default:
Pernyataan ;
break;
Adalah pernyataan yang dikerjakan jika nilai dari kecocokan variable nilai di switch (nilai) tidak memenuhi disetiap case nilai.
Setiap blok default maupun case harus diakhiri dengan tanda titik dua ( : ) dan break diakhiri dengan tanda semikolon ( ; ).
Pernyataan switch akan menyeleksi atau mencari sebuah kondisi yang diberikan dan kemudian akan membandingan hasilnya dengan konstanta yang berada di dalam case. Pembandingan akan dimulai dari konstanta1 sampai konstanta akhir. Jika hasil yang didapatkan sama dengan konstanta3 maka statemen pada konstanta3 akan diproses. Jika hasil tidak ada yang memenuhi kriteria dari masing-masing konstanta maka statement yang berada pada default akan diproses.
Tipe data dari pernyataan harus karakter atau integer. Default mengekspresikan statement alternatife yaitu jika nilai yang dimasukan tidak sesuai dengan nilai nilai konstan yang telah didefinisikan.
Break berfungsi sebagai statement peloncatan atau untuk mengakhiri statement. Apabila tidak ada break, komputer akan mengeksekusi intruksi yang berada di bawahnya walaupun berada di case yang berbeda. Contohnya, misalnya hasil yang kita dapatkan akan memproses konstanta1, apabila pada case konstanta1 tidak ada break, maka statement2 pada case konstanta2 sampai case konstanta3 akan ikut di proses. Maka dari itu apabila menggunakan Switch Case , jangan lupa untuk menulis break pada akhir statemen.

D. Perbedaan Antara struktur  IF dengan Switch
Walaupun memiliki tujuan yang hampir sama, namun struktur if dan switch memiliki perbedaan yang mendasar. Di dalam struktur switch, kondisi logika hanya akan diperiksa satu kali saja, yaitu pada awal perintah switch, dan hasilnya dibandingkan dengan setiap case. Akan tetapi di dalam struktur if, setiap kondisi akan selalu diperiksa. Sehingga jika anda memiliki struktur percabangan yang banyak, struktur switch akan lebih cepat dieksekusi.
Namun disisi lain, switch memiliki keterbatasan dalam jenis operasi perbandingan yang dapat dilakukan. Operasi perbandingan di dalam switch terbatas untuk hal-hal sederhana seperti memeriksa nilai dari sebuah variabel.
Struktur switch tidak bisa digunakan untuk percabangan program dengan operasi yang lebih rumit seperti membandingkan 2 variabel. Kita tidak bisa menggunakan switch untuk membuat kode program menentukan nilai terbesar seperti contoh pada tutorial if sebelum ini. Untuk kebanyakan kasus, kita akan sering menggunakan if dibandingkan switch.

E. Contoh
import java.util.*;
public class Switch_Case
{
 public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
 char nilai = 'B';
String nama;
System.out.print("Masukkan nama: ");
nama = input.nextLine();
System.out.println("Nilai : "+nilai);
System.out.println("\n");
switch(nilai)
{
case 'A': System.out.println(nama+" Nilai Anda memuaskan");
break;
case 'B': System.out.println(nama+" Nilai Anda bagus");
break;
case 'C': System.out.println(nama+" Nilai Anda cukup");
break;
}
}


Output :
Masukkan Nama : RATIH
Nilai :B

RATIH Nilai Anda Bagus


BAB II
Kesimpulan
a) Switch Case merupakan salah satu bentuk percabangan, bentuk dari Switch-case merupakan pernyataan yang dirancang khusus untuk menangani pengambilan keputusan yang melibatkan sejumlah atau banyak alternatif penyelesaian.
b) Setiap cabang akan dijalankan jika syarat nilai konstanta tersebut dipenuhi dan default akan dijalankan jika semua cabang diatasnya tidak terpenuhi.
c) Pernyataan break menunjukan bahwa perintah siap keluar dari switch. Jika pernyataan ini tidak ada, maka program akan diteruskan kecabang – cabang yang lainnya.