Struktur Rekursif

Rekursif adalah suatu proses yang bisa memanggil dirinya sendiri.

Contoh konsep penggunaan Rekursif
Masalah : Memotong Roti tawar tipis-tipis sampai habis
Algoritma :
1.  Jika roti sudah habis atau potongannya sudah paling
tipis maka pemotongan roti selesai.
2.  Jika roti masih bisa dipotong, potong tipis dari tepi roti tersebut, lalu lakukan prosedur 1 dan 2 untuk sisa potongannya.



Contoh Fungsi Rekursif
a. Fungsi pangkat
b. Faktorial
c. Fibonancy
d. Menara Hanoi

Fungsi Pangkat
Menghitung 10 pangkat n dengan menggunakan konsep
rekursif.
Secara Notasi pemrograman dapat ditulis :
10^0 = 1 ……............……………………..( 1 )
10^n = 10 * 10^n-1 .....................................( 2 )
Contoh :
10^3 = 10 * 10^2
                    10^2 = 10 * 10^1
                                        10^1 = 10 * 10^0
                                                            10^0 = 1


Faktorial
0! = 1
N! = N x (N-1)! Untuk N > 0
Secara notasi pemrograman dapat ditulis sebagai :
FAKT (0) = 1 ........................................................... (1)
FAKT(N) = N * FAKT (N-1).................................... (2)
Contoh :
FAKT(5) = 5 * FAKT(4)
                         FAKT(4) = 4 * FAKT(3)
                                                  FAKT(3) = 3 * FAKT(2)
                                                                           FAKT(2) = 2 * FAKT(1)
                                                                                                    FAKT(1) = 1 * FAKT(0)

Fibonancy
Deret Fibonancy : 0,1,1,2,3,5,8,13,.........
Secara notasi pemrograman dapat ditulis sebagai :
Fibo (1) = 0     &    Fibo (2) = 1 ....................................... (1)
Fibo (N) = Fibo (N-1) + Fibo (N-2) ................................. (2)
Contoh :
Fibo(5) = Fibo(4) + Fibo(3)
                Fibo(4) = Fibo(3) + Fibo(2)
                                Fibo(3) = Fibo(2) + Fibo(1)

Jawabannya:
Fibo(5) = Fibo(4) + Fibo(3) = 7
                      4     +    3
                Fibo(4) = Fibo(3) + Fibo(2) = 4
                                    3       +    1
                                Fibo(3) = Fibo(2) + Fibo(1) = 3
                                                   1        +     0



Langkah pemindahan tersebut diatas dapat diubah dengan notasi sebagai berikut:
Menara (n,asal,bantu,tujuan)

  • Utk jml piringan n>1 dpt dibagi menjadi 3 notasi penyelesaian
  • Menara (n-1, Asal,Tujuan, Bantu);
  • Menara (n, Asal, Bantu, Tujuan); atau Asal > Tujuan;
  • Menara (n-1, Bantu, Asal, Tujuan);
Rumus Langkah Pemindahan :
         2^N-1
N = Jumlah Piringan


Download Data: Struktur Rekursif
Sekian pembahasan dari Struktur Rekursif. Saya Mr.JAR mengucapkan terima kasih dan Semoga bermamfaat.
Read More

Struktur Looping (Perulangan)

Struktur Looping (Perulangan)

Pengertian : Struktur perulangan yang dapat melakukan perulangan sederet intruksi sesuai persyaratan yang ditetapkan.

Bentuk umum penulisan proses LOOP:

  1. Statement While
  2. Statement Do.....While
  3. Statement FOR
    a. Statement FOR Positif
    b. Statement FOR Negatif
    c. Statement FOR Bersarang (Nested LOOP)

  1. Statement While
    Perulangan akan terus dilaksanakan selama syarat tersebut terpenuhi.
    Bentuk umum:
    while (syarat)
              pernyataan;

    atau
    while (syarat)
    {
    pernyataan; pernyataan;
    }

  2. Statement Do.....While
    perulangan akan dilaksanakan terlebih dahulu dan pengujian perulangan dilakukan belakangan.
    Bentuk umum:
    do
         pernyataan;
      while{syarat};

    atau

    do
    {
    pernyataan; pernyataan;
    }
    while{syarat}

  3. Statement For
    Bentuk umum:
    For (inisialisasi; syarat pengulangan; pengubah nilai)
                   ↑                                                         ↑
    Pemberi nilai awal                          pengatur naik/turun


    - Nested For
      Perulangan for di dalam perulangan for lainnya.
      Bentuk umum:
      For (inisialisasi; syarat pengulangan; pengubah nilai)
      {
    For (inisialisasi; syarat pengulangan; pengubah nilai)
          {
                perintah;
           }
      }

Perintah BREAK
berfungsi untuk keluar dari suatu loop FOR, DO...WHILE, WHILE.
Bentuk umum:
{
...
...
break;
...
...
}


Download Data : Struktur Looping (Perulangan)
Sekian pembahasan dari Struktur Looping (Perulangan). Saya Mr.JAR mengucapkan terima kasih dan Semoga bermamfaat.


Read More

Diagram Flowchart

Hallo gais Mr.JAR akan menjelaskan materi selanjutnya yaitu DIAGRAM ALUR (FLOWCHART) dalam PEMROGRMAN. Pengertian Flowchart (Diagram Alur) dan Simbol-simbolnya – Flowchart atau dalam bahasa Indonesia sering disebut dengan Diagram Alur ini dipergunakan dalam industri manufakturing untuk menggambarkan proses-proses operasionalnya sehingga mudah dipahami dan mudah dilihat berdasarkan urutan langkah dari suatu proses ke proses lainnya. Flowchart atau Diagram Alur sering digunakan untuk mendokumentasikan standar proses yang telah ada sehingga menjadi pedoman dalam menjalankan proses produksi.Disamping itu, Flowchart atau Diagram Alur ini juga digunakan untuk melakukan Analisis terhadap proses produksi sehingga dapat melakukan peningkatan atau perbaikan proses yang berkesinambungan (secara terus menerus).



Beberapa Keuntungan dalam penggunaan Flowchart (Diagram Alur) antara lain :

-Sebagai Dokumentasi Prosedur Kerja dalam ISO
-Sebagai pedoman untuk menjalankan Operasional
-Sebagai pedoman untuk melakukan pelatihan terhadap Karyawan baru
-Sebagai benchmark (patokan)
-Sebagai Peta kerja untuk mencegah terjadi kehilangan arah
-Untuk mempermudah pengambilan keputusan


Simbol yang berbeda digunakan untuk keadaan yang berbeda dalam flowchart, Misalnya: Input / Output dan pengambilan keputusan memiliki simbol yang berbeda. Tabel di bawah ini menggambarkan semua simbol yang digunakan dalam membuat flowchart.




Struktur Branching (Percabangan)
  • Bersyarat
    1. IF
    2. IF...ELSE
    3. NESTED IF atau IF ELSE Majemuk
    4. SWITCH...CASE
  • Tidak Bersyarat
    Goto

A. Struktur Branching (Percabangan)
  1. IF
    Instruksi IF digunakan untuk memeriksa suatu kondisi dan melaksanakan instruksi lain jika kondisi tersebut terpenuhi atau bernilai true. Statement pada sintaks if boleh berupa satu instruksi tunggal atau beberapa instruksi (block statement) yang ditulis dalam {}. Jika evaluasi terhadap kondisi memberikan nilai true makastatement dikerjakan. Jika bernilai false maka statement tidak dikerjakan. alur logika Instruksi IF dapat anda lihat pada gambar dibawah ini.
  2. IF...ELSE

    Bentuk umum :

    if (kondisi)
                        perintah1;
    else
                        perintah 2;
    Diagram alur dr pemakaian IF......ELSE sbb:

  3. NESTED IF
    Pernyataan if yang berada dalam pernyataan if yang lain

    Bentuk umum :

    if (syarat)
           if (syarat)
                      ....perintah;
              else
                      ....perintah;
              else
           if (syarat)
                      ....perintah;
              else
                      ....perintah;
  4. IF.....ELSE Majemuk (bertingkat)
    If-else majemuk mirip dengan nested if. Keuntungan
    penggunaan if-else majemuk adalah bentuk penulisan
    yang lebih sederhana.

    Bentuk umum :

    if (syarat)
    {
    ... Perintah;
    }
         else
    if (syarat)
    {
    ... Perintah;
    }
         else
    {
    ... Perintah;
    }
  5. SWITCH CASE
    untuk menangani pengambilan keputusan yang melibatkan
    sejumlah atau banyak alternatif.

    Bentuk Umum :
    switch (ekspresi integer atau karakter)
    {
    case konstanta1:
                ...perintah;
         break;
    case konstanta2:
                ...perintah;
         break;
    default :
                ...perintah;
         break;
    }

B. Tidak Bersyarat
  1. Tidak Bersyarat
    Go To
  2. Bentuk umum :
    goto label;

    Contoh :
    Hitung : statement;
         statement;
         statement;
         statement;
         Goto hitung;

Contoh Soal:
Buatlah Flowchartnya dari pseudocode berikut ini:
  • Masukan kode barang
  • Masukan harga barang
  • Masukan Jumlah barang
  • Hitung bayar = harga * Jumlah barang 
  • Jika bayar >= 100.000 maka diberikan discount 10%, selain dari itu tidak mendapat discount
  • Hitung total bayar = bayar - discount
  • Cetak total bayar
Jawabannya:


Sekian pembahasan dari Diagram Flowchart. Saya Mr.JAR mengucapkan terima kasih dan Semoga bermamfaat.
Read More
loading...
loading...
loading...