Jumat, 15 September 2017

STRUKTUR DASAR ALGORITMA






1.1.   Struktur Dasar Algoritma Pemograman

Struktur Dasar Algortima Pemograman
Struktur dasar algoritma al:
1.Runtunan /sekuensial/(Sequence)
2.Pemilihan /percabangan/ (Selection)
3.Pengulangan (Repetition)

1.         Runtunan
Runtunan (Sequence) terdiri dari satu atau lebih instruksi yang akan dikerjakan secara berurutan sesuai dengan urutan penulisannya. Urutan instruksi menentukan keadaan akhir algoritma, bila urutannya diubah akan memberikan hasil yang berbeda.

         Contoh : Instruksi 1
                          Instruksi 2
                          Instruksi 3

              
Contoh algorithma  dengan bentuk runtunan /sequence/berurutan :
Membuat Algoritma Mematikan Komputer :
Algorithma mematikan Komputer:
1.      Mulai
2.      Klik tombol Start
3.      Klik tombol Turn Off
4.      Klik Tombol Shutdown
5.      Selesai
2.      Percabangan/penyeleksian/Pemilihan

Struktur Seleksi dalam bahasa inggris (selection) atau Percabangan adalah struktur algoritma yang menyatakan pemilihan langkah yang didasarkan oleh suatu kondisi atau pengambilan suatu keputusan . Ciri utama dari struktur Percabangan adalah adanya bentuk flowchart belah ketupat (decision) .
Pemilihan (Selection) adalah suatu kondisi dimana sebuah instruksi dijalankan apabila kondisi tertentu dipenuhi. Ini akan mengakibatkan tidak semua instruksi akan dijalankan sesuai urutan dan tidak semua instruksi akan dijalankan.
Contoh :
              
Kondisi percabangan adalah sebuah struktur dalam algoritma atau pemrograman komputer yang melibatkan suatu kondisi atau persyaratan untuk melakukan operasi-operasi khusus tergantung dari kondisi yang disyaratkan. Sebagai contoh dalam algoritma di atas, Jika omset penjualan >100 juta maka Bonus akan dihitung 1% x OmsetJual. Bagaimana jika tidak? Contoh pertama ini tidak memberikan solusi atau langkah alternatif untuk menghitung Bonus jika target omset penjualan tidak dipenuhi, hanya saja dengan tidak dipenuhinya kondisi tersebut nilai Bonus akan diberikan nilai Bonus yang ditetapkan di awal yaitu Bonus=0. Kondisi percabangan yang seperti ini disebut dengan kondisi percabangan dengan 1 syarat saja.
Kata kunci dari struktur percabangan adalah
JIKA (kondisi) MAKA
Pernyataan1

Pernyataan2

Dst

Bentuk-bentuk Percabangan 

Sebuah program tidak selamanya akan berjalan dengan mengikuti struktur berurutan, kadang-kadang kita perlu merubah urutan pelaksanaan program dan menghendaki agar pelaksanaan program meloncat ke baris tertentu. Peristiwa ini kadang disebut sebagai
percabangan/pemilihan atau keputusan.

Berikut beberapa kondisi percabangan :

1.      Penulisan percabangan 1 kondisi
if then
pernyataan

penjelasan :

Jika <kondisi> bernilai benar maka pernyataan dikerjakan, sedangkan jika tidak, maka pernyataan tidak dikerjakan dan proses langsung keluar dari percabangan

Flowchart :   

2.      Penulisan percabangan 2 kondisi

if then
pernyataan1
     else
pernyataan2
  
penjelasan :
Jika <kondisi> bernilai benar maka pernyataan1 dikerjakan. Sedangkan jika tidak (<kondisi> bernilai salah), maka pernyataan yang dikerjakan adalah pernyataan2. Berbeda dengan percabangan satu kondisi, pada percabangan dua kondisi ada dua pernyataan untuk dua keadaan kondisi, yaitu untuk <kondisi> yang bernilai benar dan <kondisi> yang bernilai salah
Flowchart :
3.      Penulisan percabangan lebih dari 2 kondisi

If then
                  Pernyataan1
    else if then
                  Pernyataan2
                  ...
    else if then
Pernyataan(n)
    else
                  Pernyataan(n)
Penjelasan :
Mula-mula <kondisi1> dicek nilai kebenarannya. Jika benar, maka dikerjakan pernyataan1. Jika salah, maka dicek nilai kebenaran <kondisi2>. Jika <kondisi2> benar, maka dikerjakan pernyataan2. Jika tidak algoritma akan mengecek ke kondisi berikutnya dengan cara yang sama dengan yang sebelumnya. Terakhir, jika semua kondisi bernilai salah, maka pernyataan yang dikerjakan adalah Pernyataan(n+1).

Flowchart : 
 



  1. Pengulangan
Struktur perulangan memberikan suatu perintah atau tindakan yang dilakukan beberapa kali . Misalnya bila kita menulis “Saya lagi belajar Algoritma Pemrograman” , diproses 10 kali , maka agar efisien kita menggunakan struktur perulangan daripada menuliskannya satu-persatu hingga sepuluh kali.

Salah satu kelebihan komputer adalah kemampuan untuk mengerjakan proses yang sama berulang kali tanpa mengenal lelah. Ini akan mengakibatkan sebuah instruksi mungkin dijalankan beberapa kali sebelum menjalankan instruksi yang lain.

       Contoh :
Tuliskan angka dari 1 sampai 100

Angka = 0
Repeat
               Tuliskan angka
               Tambahkan nilai angka dengan 1
                                                                                         Until angka = 100

Pada praktenya, ketiga elemen itu dapat dikombinasikan menjadi sekumpulan instruksi yang membangun sebuah program komputer. Namun pemahaman tentang dasar dari masing – masing elemen sangatlah penting.

Bentuk-bentuk Perulangan
1.      Pernyataan For
Perulangan yang pertama adalah for. Bentuk umum pernyataan for adalah sebagai berikut:

for (inisilisasi; syarat pengulangan; pengubahan nilai pencacah)

Bila pernyataan di dalam for lebih dari satu maka pernyaan-pernyataan tersebut harus diletakan di dalam tanda kurung.

for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah)
{
Pernyataan / perintah;
Pernyataan / perintah;
Pernyataan / perintah;
}


Kegunaan dari masing-masing argumen for adalah:
1. Inisialisasi: bagian untuk memberikan nilai awal untuk memberikan variabel-variabel   
    tertentu.
2. Syarat pengulangan: memeganng kontrol terhadap pengulangan, karena bagian ini yang 
    akan menentukan suatu perulangan diteruskan atau dihentikan.
3.  Pengubahan nilai pencacah: mengatur kenaikan atau pengurangan nilai pencacah 



Contoh:
/* ------------------------------------ */
/* Program For-Bilangan Naik */
/* ------------------------------------ */
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
void main()
{
int a;
for(a = 1; a <= 10; a+=2)
cout<<a
getch();
}
 

2.      Pernyataan While
Pernyataan perulangan while merupakan instruksi perulangan yang mirip dengan perulangan for. Bentuk umum perulangan while dikendalikan oleh syarat tertentu, yaitu perulangan akan terus dilakukan selama syarat tersebut belum terpenuhi.

Bentuk umum pernyataan while:

While (syarat)
                        Pernyataan/perintah;

            Contoh Listing:
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
void main()
{
int bil=1;
while(bil<=10)
{
cout<<bil<<” “;
++bil;
}
getch();
}
3.      Pernyataan Do-While
Pernyataan perulangan do-while merupakan bentuk perulangan yang melaksanakan perulangan terlebih dahulu dan pengujian perulangan dilakukan belakangan.
Bentuk umum perulangan do-while adalah;

do

pernyataan/perintah ;

while (syarat);

 
            contoh Listing:
                         #include<iostream.h>
void main()
{
int bil=2;
do
{

cout<<bil<<" ";
bil+=2;
}
while(bil<=10);
getch();
}



Struktur Kondisi If Dan If Else

Penyeleksian kondisi digunakan untuk mengarahkan perjalanan suatu proses. Penyeleksian kondisi dapat diibaratkan sebagai katup atau kran yang mengatur jalannya air. Bila katup terbuka maka air akan mengalir dan sebaliknya bila katup tertutup air tidak akan mengalir atau akan mengalir melalui tempat lain. Fungsi penyeleksian kondisi penting artinya dalam penyusunan bahasa C, terutama untuk program yang lebih kompleks.

  1. Struktur Kondisi IF

Struktur kondisi IF dibentuk dari pernyataan IF dan digunakan untuk menyeleksi suatu kondisi tunggal. Bila proses yang diseleksi terpenuhi atau bernilai benar, maka pernyataan yang ada di dalam blok IF akan diproses dan dikerjakan.

Bentuk umum struktur kondisi IF adalah :


      if (kondisi) {

          perintah-jika-benar;
            }

Catatan:

·    Kondisi dalam struktur IF dapat berupa kondisi tunggal maupun kondisi gabungan (jamak) yang bernilai TRUE / FALSE.

·         Penggunaan tanda kurawal { dan } bersifat WAJIB jika blok perintah terdiri dari dua perintah atau lebih. Tanda kurawal dapat dihilangkan jika blok perintah hanya terdiri dari satu perintah.

          Contoh 13: Kondisi IF

#include <stdio.h>
int main()
{
int nilai;
printf("Input nilai matakuliah: ");
scanf("%i", &nilai);

if (nilai >= 60) {
printf("\nLULUS");
}
printf("\n\nProgram Selesai.");
return 0;
}
           
Dari contoh 13, Amatilah hasilnya dengan baik. Jika nilai yang diinput  diatas 60, maka hasilnya : LULUS, tapi nilai yang diinput kurang dari 60, maka hasilnya tidak ada.

Inputkan sebuah nilai : 90
 LULUS
Program Selesai.
--------------------------------
Process exited after 3.507 seconds with return value 0
Press any key to continue . .  



2 . Struktur Kondisi IF…ELSE

Dalam struktur kondisi IF…ELSE minimal terdapat dua blok perintah. Jika kondisi yang diperiksa bernilai benar atau terpenuhi maka blok perintah pertama yang dilaksanakan dan jika kondisi yang diperiksa bernilai salah maka blok perintah yang kedua yang dilaksanakan.

Bentuk umumnya adalah sebagai berikut :

if (kondisi) {
perintah-jika-benar;

} else {perintah-jika-salah;}

Catatan:

·      Kondisi dalam struktur IF…ELSE dapat berupa kondisi tunggal maupun kondisi gabungan (jamak) yang bernilai TRUE / FALSE.

·      Penggunaan tanda kurawal { dan } bersifat WAJIB jika blok perintah terdiri dari dua perintah atau lebih. Tanda kurawal dapat dihilangkan jika blok perintah hanya terdiri dari satu perintah.

 Contoh14 : IF.. ELSE

#include <stdio.h>
int main()
{
int nilai;
printf("Input nilai matakuliah: ");
scanf("%i", &nilai);

if (nilai >= 60) {
printf("\nLULUS");
} else {
printf("\nGAGAL");
}
printf("\n\nProgram Selesai.");

return 0;
}

Dari contoh 14, Amatilah hasilnya dengan baik. Jika nilai yang diinput  diatas 60, maka hasilnya : LULUS, tapi nilai yang diinput kurang dari 60, maka hasilnya GAGAL.



Contoh 15:  contoh IF

#include <stdio.h>

#include <string.h>
main()
{
int nilai;
char X[10];
strcpy(X, "GAGAL");
printf("\n Inputkan sebuah nilai : ");
scanf("%i", &nilai);
if (nilai >=60)
strcpy(X, "LULUS");
printf("\n %s", X);
printf("\nProgram Selesai.");

return 0;
}

Output dari program diatas seperti berikut :
                     Inputkan sebuah nilai : 90
                        LULUS
Program Selesai.
--------------------------------
Process exited after 3.507 seconds with return value 0
Press any key to continue . .