Translate

This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Minggu, 19 Maret 2017

Perulangan dan Percabangan

Setelah mempelajari tentangdefinisi variable,tipe data, konstanta dan operator.Pada artikel ini akan dibahas mengenai instruksi utama yang dapat digunakan dalam mengatur jalannya pelaksanaan algoritma.Secara garis besar hanya ada tiga macam kategori instruksi utama, yaitu: Instruksi Runtunan (Sequential), Instruksi Pemilihan (Selection), Instruksi Perulangan (Repetition).Berikut akan dikupas satu persatu kategori instruksi utama tersebut.

1.1       INSTRUKSI RUNTUNAN

            Instruksi ru runtunan adalah intruksi yang dikerjakan secara beruntun atau berurutan, baris per baris, mulai dari baris pertama hingga baris terakhir, tanpa ada loncatan atau perulangan.
1.      Tiap instruksi dikerjakan sekali, satu per satu.
2.      Urutan pelaksanaan instruksi sama dengan urutan penulisan algoritma
3.      Instruksi terakhir merupakan akhir dari algoritma.
4.      Urutan penulisan instruksi bisa menjadi penting bila diubah dapat menyebabkan hasil yang berbeda.
Berikut ini adalah contoh algoritma yang menggambarkan fungsi instruksi runtunan, dimana urutan penulisan yang berbeda menghasilkan output yang berbeda pula.
Algoritma Runtunan_1
{menunjukkan urutan yang berbeda memberi hasil yang berbeda}
Deklari
     Integer A,B;
Deskripsi
     Aß 20;
     Bß3*A;
     BßA;
     Write(B);
Algoritma diatas menampilkan hasil : 60
Algoritma Runtunan_2
{algoritma menampilkan gaji bersih pegawai dengan memasukkan gaji pokok, kemudian menghitung tunjangan sebesar 45%, dan pajak pph 15%}
Definisi Variable:
            string nama;
            real gajipokok, tunjangan, pajak;
            real gajibersih;
Rincian Langkah:
            Write (“Masukkan nama pegawai:”);
            Read(nama);
            Write(“Masukkan gaji pokoknya:”);
            Read(gajipokok);

            Tunjanganß0,45*gajipokok;
            Pajakß0,15*(gajipokok+tunjangan);
            Gajibersihßgajipokok+tunjangan-pajak;
            Write(“Gaji saudara:”,nama);
            Write(“adalah=”,gajibersih);
1.2       Instruksi Pemilihan
            Instruksi pemilihan adalah instruksi yang dipakai untuk memilih satu aksi dario beberapa kemungkinan aksi berdasarkan suatu persyaratan.Ada dua bentuk instruksi pemilihan yang sering digunakan, yaitu instruksi if/then/else dan instruksi case.
            1.2.1    Instruksi if / then / else
Instruksi if / then / else digunakan untuk memilih alternatif apabila suatu syarat atau kondisi dipenuhi (1 kasus), atau memilih satu alternatif dari dua kemungkinan berdasarkan apakah syarat terpenuhi atau tidak (2 kasus).
Bentuk 1 kasus
            If (syarat)
then aksi
endif
Apakah syarat dipenuhi maka aksi dijalankan.Misal, pada contoh ini nilai x akan ditambah 10 apabila nilainya lebih besar dari 50.
Contoh :          if (x > 50)
then x ß x+10
endif.
            Bentuk 2 kasus
            if (syarat)
                        then aksi-1
                        else aksi-2
            endif.
Apabila syarat dipenuhi maka “aksi-1” dilaksanakan, tetapi bila syarat tidak dipenuhi maka “aksi-2” yang dilaksanakan.Misal, pada contoh berikut ini,bila a > 0 maka akan ditampilkan “bilangan ini bilangan positif”.Selain ini akan ditampilkan “bilangan ini bilangan negatif”.
Contoh :
            if (a>0)
then write (“bilangan ini bilangan positif”)
else write (“bilangan ini bilangan negatif”)
endif.
Bentuk bersusun (lebih dari 1 syarat)
If (syarat-1)
then aksi-1
else if (syarat-2)
then aksi-2
else aksi-3
       endif
endif.
Pada bentuk ini, “aksi-1” dilaksanakan segera ketika syarat-1dipenuhi,”aksi-2” dilakukan apabila syarat-1 tidak terpenuhi tetapi syarat-2 dipenuhi, dan “aksi-3” hanya dilakukan apabila kedua syarat tidak terpenuhi.
Atau sebagai berikut :
            if (syarat-1)
    then if (syarat-2)
then aksi-1
else aksi-2
       endif
else aksi-3
endif.
Pada bentuk diatas,“aksi-1” hanya dilakukan apabila syarat-1 dan syarat-2 terpenuhi.Apabila syarat-1 tidak terpenuhi maka “aksi-3” langsung dikerjakan, sedang “aksi-2” hanya dilakukan apabila syarat-1 terpenuhi tetapi syarat-2 tidak.
1.2.2    Instruksi Case
Instruksi ini digunakan sebagai instruksi pemilihan dimana aksi yang akan dilakukan bergantung pada nilai dari satu variable saja.Dengan kata lain variable yang menentukan pilihan aksi mungkin memiliki banyak macam nilai dan setiap nilainya berkaitan dengan satu macam aksi.
Bentuk instruksi case :
            case (variable)
                        nilai-1 : aksi-1;
nilai-2 : aksi-2;
nilai-3 : aksi-3;
............
default : aksi-n;
endcase.
Bentuk case diatas dapat juga di terjemahkan sebagai berikut ini :
1.      Dimungkinkan ada n-buah aksi, mulai dari aksi-1 hingga aksi-n
2.      Setiap aksi hanya dilakukan apabila suatu nilai variable dicapai sesuai dengan persyaratan.Misalnya, aksi-1 dilakukan hanya bila variable bernilai nilai-1,aksi-2 dilaksanakan apabila variableb bernilai nilai-2, dan seterusnya.
3.      Apabila tidak ada satupun nilai variable yang cocok maka aksi-n dikerjakan sebagai aksi “default” (hanya dikerjakan apabila tidak ada yang memenuhi syarat).
Contoh :
Algoritma Gaji_Karyawan
{algoritma yang menerima nama, golongan serta jam-kerja kemudian menampilkan total gaji yang diterima karyawan}
Definisi variable
            real gaji,total,jamkerja,lembur,upah;
            string nama;
            char golongan;
Rincian langkah
            write (“masukkan nama karyawan:”);
            read (nama);
            write (“ masukkan golongan-nya:”);
            read (golongan);
            write (“masukkan jam kerjanya :”);
            read (jamkerja);
case (golongan)
                        ‘A’ : upah ß 10.000;
                        ‘B’ : upah ß 15.000;
                        ‘C’ : upah ß 30.000;
                        ‘D’ : upah ß 50.000;
            default : write (“ golongannya salah ! “);
                        upah ß 0;
endcase.
if (jamkerja < 150)
then lembur ß (jamkerja-150)*upah*1.25;
            gaji ß 150*upah;
else lembur ß 0;
            gajiß jamkerja*upah;
endif
total ß gaji + lembur;
write (“Gaji yang diterima sdr :”,nama,”adalah=Rp.”,total);

1.3       INSTRUKSI PENGULANGAN

            Instruksi pengulangan adalah instruksi yang dapat mengulangi pelaksanaan sederetan instruksi lain berulang kali sesuai dengan persyaratan yang ditetapkan.Struktur instruksi pengulangan terdiri dari :
1.      Kondisi perulangan : Suatu kondisi yang harus dipenuhi agar perulangan dapat terjadi.
2.      Badan (body) perulangan : Deretan instruksi yang akan diulang-ulang pelaksanaannya.
3.      Pencacah (counter) perulangan : Suatu variable yang nilainya harus berubah agar perulangan dapat terjadi dan pada akhirnya membatasi jumlah perulangan yang dapat dilaksanakan.
Ada tiga macam bentuk instruksi perulangan yang biasa digunakan dalam pemrograman, yaitu :
Perulangan : while-do
Perulangan : repeat-until
Perulangan : for
Satu per satu dari instruksi perulangan akan dibahas di artikel ini.
      1.3.1    Perulangan while-do
      Bentuk umum :
                  while (kondisi) do
............
............
endwhile.
Makna dari bentuk instruksi tersebut adalah : ulangi...... instruksi-instruksi....... selama kondisi yang diberikan masih terpenuhi.
Perhatikan :
1.      Ada instruksi yang berkaitan dengan kondisi sebelum masuk ke while/do sehingga kondisi ini benar (terpenuhi) dan pengulangan bisa dilaksanakan.Bila tidak, kemungkinan instruksi while tidak bisa dijalankan.
2.      Ada satu instruksi diantara instruksi-instruksi yang diulang dan mengubah nilai variable perulangan agar pada suatu saat kondisi perulangan tidak terpenuhi sehingga perulangan bisa berhenti, atau jumlah perulangan bisa dibatasi. Bila tidak, ada kemungkinan perulangan berlangsung terus tak terhingga.

Contoh :
Algoritma menggunakan while/do untuk menampilkan angka 1 hingga 20 secara berurutan.Perhatikan bahwa perintah : angka ß 1 adalah kondisi awal, sedangkan instruksi : angka ß angka+1 adalah instruksi yang bisa mengubah kondisi hingga tidak terpenuhi, pada saat angka > 20.
Algoritma Perulangan:
{mencetak angka 1 hingga 20}
Deklarasi
      integer angka;
Deskripsi
      angkaß1;
      while (angka<21) do
                  write (angka);
angka ß angka +1;
endwhile.
1.3.2    Perulangan Repeat-Until
            Bentuk umum :
            repeat
                        ............
                        instruksi-instruksi
                        .............
            until (kondisi).
Makna dari bentuk instruksi tersebut adalah : ulangi pelaksanaan instruksi-instruksi hingga kondisi terpenuhi.
Contoh :
Algoritma berikut akan menampilkan “HALO.....” sebanyak 3 kali, dengan memanfaatkan instruksi repeatuntil.

Perhatikan :
1.  1.Instruksi-instruksi akan diulang hanya apabila kondisi tidak terpenuhi,dan ketika kondisi    terpenuhi maka perulangan berhenti.
2.      2.Instruksi-instruksi dikerjakan terlebih dahulu sebelum kondisi diperiksa.
3.   3.Harus ada satu instruksi yang mendahului repeat/until agar kondisi tidak terpenuhi sehingga    perulangan bisa berlangsung.
4.  4. Harus ada instruksi diantara instruksi yang diulang sehingga pada akhirnya dapat mengubah    kondisi menjadi terpenuhi dan perulangan berhenti.
5. 5.Apabila diawal pelaksanaan kondisi sudah terpenuhi maka instruksi-instruksi paling tidak  dikerjakan satu kali.

Algoritma perulangan :
{memakai repeat-until untuk menampilkan HALO sebanyak 3 kali}
Definisi variable
            Integer cacah;
Rincian Langkah
            cacah ß1;
            repeat
                        write   (“HALO.....”);
                        cacah ß cacah + 1;
            until (cacah > 25).

1.3.3    Perulangan for
Bentuk umum :
            for (var=awal to akhir step n)
            ..............
            instruksi-instruksi
     .............
     endfor.
Maknanya, ulangi instruksi-instruksi tersebut berdasarkan  variable perulangan mulai dari nilai awal hingga nilai akhir dengan perubahan nilai sebesar n.
Perhatikan :
1.      Variable perulangan (var) harus bertipe dasar (integer,real,atau char).
2.      Nilai awal harus < dari nilai akhir bila n > 0 (positif).
3.      Nilai awal harus > dari nilai akhir bila n < 0 (negatif).
4.      Mula-mula variable var bernilai awal, kemudian setiap satu kali putaran maka nilai var bertambah sebesar n.
5.      Perulangan akan berhenti apabila nilai var sudah mencapai akhir.
Contoh :
Algoritma Perulangan :
{menampilkan HALO ......... memakai instruksi for}
Deklarasi
            integer cacah;
Deskripsi
for ( cacah = 1 to 5 step 1)
write (“HALO.....”)

endfor.

1.4 PENGERTIAN PERCABANGAN

      Pada algoritma runtunan telah bahas bahwa setiap pernyataan selalu dilakukan bila sudah sampai gilirannya.Tapi ada kalanya suatu pernyataan atau perintah hanya bisa dilakukan bila memenuhi satu kondisi atau persyaratan tertentu.Algoritma ini disebut juga sebagai algoritma kondisi atau percabangan.

      Contoh kasus misalkan kita ingin menentukan bilangan itu adalah bilangan ganjil atau genap.Algoritmanya dapat dijabarkan sebagai berikut :

1.      Start
2.      Masukkan bilangan (a)
3.      Jika a habis dibagi 3 maka lanjut ke 6, jika tidak maka lanjut ke 7
4.      Tulis “ a adalah bilangan ganjil”,maka lanjut ke 9
5.      Tulis “a bilangan genap”
6.      Selesai

1)      Ekspresi Boolean

Terdapat dua komponen utama dalam ekspresi percabangan yaitu kondisi dan pernyataan.Kondisi adalah syarat dilakukannya sebuah atau sekelompok pernyataan, dan pernyataannya adalah perintah yang berkaitan dengan suatu kondisi.
                        Contoh :
1.      Jika a sama dengan 0 dan b sama dengan nol, maka nilai a dan b bernilai negatif.

Berikut adalah contoh penulisan source code :


        
Output yang dihasilkan adalah  :


Contoh diatas adalah condoh menggunakan if satu kondisi yang mana suatu perintah dilakukan jika kondisi yang mempersyaratkannya sudah jelas salah atau benar nilainya.Dalam pemrograman kondisi harus dinyatakan dalam suatu ekspresi boolean.Ekspresi boolean adalah ekspresi yang hasil ekspresinya bernilai boolean (true atau false).
Ekspresi Boolean dapat diperoleh dengan menggunakan dua jenis operasi :

1)      Operasi Boolean.

Operasi boolean adalah operasi yang menggunakan operator booleanseperti and, or, not, xor.

2)      Operasi Relasional (Operasi Perbandingan)

Operasi relasional adalah operasi yang membandingkan dua buahoperan dengan menggunakan operator perbandingan (ingat, operatorperbandingan: =, <>, <,≤, >, ≥).
           
3)      Algoritma Teks dan Flowchart Percabangan

Ada dua tipe algoritma percabangan yang akan kita bahas berikut ini yaitu:

Satu kondisi (if-then)

artinya hanya ada satu kondisi yang menjadi syaratuntukmelakukan satu atau satu blok (sekelompok) pernyataan. Bentukumum algoritma teks standar percabangan dengan satu kondisi :

if <kondisi> then pernyataan

Jika <kondisi> bernilai benar maka pernyataan dikerjakan, sedangkan jika salah, maka pernyataan tidak dikerjakan dan proses langsung keluar dari percabangan (begin).Seperti contoh diatas.

Dua kondisi (if-then-else)

artinya ada dua kondisi yang menjadi syaratuntuk dikerjakannya dua jenis pernyataan. Bentuk umum percabangandengan dua kondisi :

if <kondisi> then
pernyataan1
else
pernyataan2
Contoh penulisan source code :



Output yang dihasilkan :


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.Contoh algoritma percabangan dua kondisi :if A>B thenwrite (A)elsewrite (B)
if A>B then
write (A)
else
write (B)

Ekspresi di atas sedikit berbeda dengan sebelumnya. Perintah menulis/menampilkan A dikerjakan hanya jika kondisi A>B bernilai benar,sedangkan jika yang terjadi adalah sebaliknya maka pernyataan yang dilakukan adalah menulis B.