Skip to content

Diagram Alir

Chetabahana edited this page Jul 4, 2018 · 109 revisions

Table of Contents

Pola

Pola Induk

              |              |              |             |              |
     Toko   --|->   Stok   --|-> Merchant --|-> Peluang --|-> Portfolio--|->  Network
              |              |              |             |              |
          Optimasi     Content API      AdWords API    Site API      eShop SEO
              |              |              |             |              |
              |            <-|--        App Engine      <-|--            |
              |              |              |             |              |

Pola Metode

              |              |              |             |              |
     Toko   --|-> Sitemap  --|->   Data   --|-> f(Data) --|->  Result  --|->   Stok
              |              |              |             |              |
           Method-1       Method-2       Method-3      Method-4       Method-5
              |              |              |             |              |
              |            <-|--         Method-6       <-|--            |
              |              |              |             |              |

Urutan

Urutan Metode

              |              |              |             |              |
           Method-1       Method-2       Method-3      Method-4       Method-5
              |              |              |             |              |
              |            <-|--         Method-6       <-|--            |
              |              |              |             |              |

Urutan Induk

              |              |              |             |              |
          Optimasi     Content API      AdWords API    Site API      eShop SEO
              |              |              |             |              |
              |            <-|--        App Engine      <-|--            |
              |              |              |             |              |

Karakter

Karakter Object

              |              |              |             |              |
     Input  --|-> f(Input) --|->   Data   --|-> f(Data) --|->  Result  --|->  Output
              |              |              |             |              |

Karakter Metode

              |              |              |             |              |
          Collecting      Grouping       Sorting      Filtering       Storing
              |              |              |             |              |
              |            <-|--        Verifying       <-|--            |
              |              |              |             |              |

Karakter Event

              |              |              |             |              |
     Input  --|-> f(Input) --|->   Data   --|-> f(Data) --|->  Result  --|->   Stok
              |              |              |             |              |
           Method-1       Method-2       Method-3      Method-4       Method-5
              |              |              |             |              |
              |            <-|--         Method-6       <-|--            |
              |              |              |             |              |
              |              |              |             |              |
     Input  --|-> f(Input) --|->   Data   --|-> f(Data) --|->  Result  --|->   Stok
              |              |              |             |              |
           Method-1       Method-2       Method-3      Method-4       Method-5
            input        penetapan      pengecekan    penetapan        output
              |              |              |             |              |
              |            <-|--         Method-6       <-|--            |
              |              |          pengecekan        |              |
              |              |              |             |              |

              |              |              |             |              |
     Toko   --|->   Stok   --|-> Merchant --|-> Peluang --|-> Portfolio--|->  Network
              |              |              |             |              |
          Optimasi      Content API    AdWords API    Site API       eShop SEO
            input        penetapan     pengecekan     penetapan       output
              |              |              |             |              |
              |            <-|--        App Engine      <-|--            |
              |              |          pengecekan        |              |
              |              |              |             |              |

Algoritma

Prinsip utama dari project ini adalah menemukan item barang yang terbaik, tercepat, termurah dsb. Untuk itu kita perlu prosedur yang logis untuk dipakai sebagai acuan. Istilah kerennya: algoritma.

Dalam ilmu matematika dan komputer, algoritma adalah prosedur langkah-demi-langkah untuk penghitungan. Dia digunakan untuk penghitungan, pemrosesan data, dan penalaran otomatis.

Pola Inelegan

Salah satu dari algoritme sederhana adalah menemukan bilangan terbesar dalam sebuah deretan angka (tak berurut). Pola yang banyak dipakai sebagai acuan adalah Algoritma Euclid.

Bagan dari algoritma nya seperti ini:

Pola Elegan

Versi yang digambarkan di atas adalah versi "Inelegan" terdiri dari tigabelas (13} instruksi. Dengan dipadatkan maka versi ini menjadi versi "Elegan" terdiri dari hanya enam (6) instruksi dasar:

  5 REM Algoritme Euclid untuk faktor persekuturan terbesar
  6 PRINT "Masukan dua integer besar dari 0"
  10 INPUT A,B
  20 IF B=0 THEN GOTO 80
  30 IF A > B THEN GOTO 60
  40 LET B=B-A
  50 GOTO 20
  60 LET A=A-B
  70 GOTO 20
  80 PRINT A
  90 END

Bentuk grafiknya adalah seperti ini:


Pada versi ini dapat dilihat bahwa prosesnya berpasangan:

  • 2 proses ujung: start dan end
  • 2 proses pengecekan
  • 2 proses penetapan
Dengan enam (6) instruksi dasar versi Elegan ini cocok dipakai sebagai acuan untuk dikembangkan lebih lanjut dalam project ini karena tiap bagian dibuat persis menjadi enam (6) pola dasar.

Implementasi

Untuk implementasi dari algoritma kita visualisasikan dalam bentuk diagram alir. Dari sekian banyak projeck tentang diagram di GitHub kita ambil salah satu.

Type Diagram

Pada type kita terapkan code yang sesuai dengan Pola Elegan sbb:
st=>start: Start|past
e=>end: End|past
op1=>operation: Input|future
op2=>operation: Output|future
io1=>inputoutput: Fix Input|current
io2=>inputoutput: Fix Output|current
uji1=>condition: Uji Input|rejected
uji2=>condition: Uji Output|approved
sub1=>subroutine: Sub Input|invalid
sub2=>subroutine: Sub Output|invalid

st->op1(right)->sub1
sub1(right)->uji1(yes, right)->sub2
uji1(no)->io1(left)->sub1
sub2->uji2(yes, right)->op2
uji2(no)->io2(left)->sub1
op2->e

Karakter Diagram

Dengan modifikasi code di halaman projeknya akan didapat bentuk Diagram Alir seperti ini:

Bagan Alir (Flowchart)

Dari visualisasi ini maka karakter dari Diagram Alir dapat disimpulkan seperti berikut ini:

  • Setiap instruksi akan saling berpasangan antara input (horizontal) dan output (vertikal).
  • Seluruhnya terdiri dari enam (6) instruksi dasar (dinamai dengan huruf warna hitam tebal).
  • Masing Input dan Output ditempatkan instruksi pengulangan yaitu Fix Input dan Fix Output.
Secara prinsip dia akan sama dengan Pola Elegan perbedaannya hanya terletak di Fix Output, dia tidak langsung diarahkan ke proses awal melainkan via Fix Input terlebih dahulu.

Penerapan Karakter

Dengan menggunakan instruksi dasar dari algoritma maka Diagram Alir seperti yang diuraikan di atas bisa diberlakukan baik untuk pola induk maupun untuk sub atau bagian dari induknya.

Jadi dia akan identik dengan pola dasar dari induknya yaitu:

            Input          --|-> f(Input)   |             |
                             |              |             |
                             |    Data    --|-> f(Data)   |
                             |              |             |
                             |              |   Result  --|->         Output

Setiap bagian akan kita padatkan sehingga terbentuk pola yang sama agar didapat keseragaman untuk memudahkan dalam identifikasinya. Detilnya akan dibahas di halaman berikut ini:

Clone this wiki locally