2009-1-00407-mtif bab 2

Upload: resty-puspitaliani-irawan

Post on 05-Jul-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/16/2019 2009-1-00407-MTIF Bab 2

    1/25

    BAB II

    LANDASAN TEORI

    2.1  Problem, algoritma , optimasi, simulasi

    2.1.1 Definisi problem

    Problem (permasalahan) adalah suatu tujuan dinyatakan dalam konteks

    yang jelas tetapi tidak dapat dengan serta merta dicapai. Suatu permasalahan

    dikatakan sudah selesai bila tujuan telah dicapai atau sudah tidak ada lagi

    (Psquet, Sebastian,2001,p1).

    2.1.2 Algoritma

    2.1.2.1  Pengertian

    Ditinjau dari asal usul katanya, Algoritma sendiri mempunyai

    sejarah yang aneh. Orang hanya menemukan kata  Algorism yang

     berarti proses menghitung dengan angka arab. Anda dikatakan

     Algorist jika anda menghitung menggunakan Angka Arab. Para ahli

     bahasa berusaha menemukan asal kata ini namun hasilnya kurang

    memuaskan. Akhirnya para ahli sejarah matematika menemukan

    asal kata tersebut yang berasal dari nama penulis buku arab yang

    terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi.

    Al-Khuwarizmi dibaca orang barat menjadi  Algorism. Al

    Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-

     Muqabala yang artinya “Buku pemugaran dan pengurangan” (The

    book of restoration and reduction). Dari judul buku itu kita juga

    memperoleh akar kata “Aljabar” ( Algebra). Perubahan kata dari

     Algorism menjadi  Algorithm muncul karena kata  Algorism sering

  • 8/16/2019 2009-1-00407-MTIF Bab 2

    2/25

    8

    dikelirukan dengan  Arithmetic, karena perhitungan dengan angka

    Arab sudah menjadi hal yang biasa. Maka lambat laun kata

     Algorithm  berangsur-angsur dipakai sebagai metode perhitungan

    (komputasi) secara umum, sehingga kehilangan makna kata aslinya.

    Dalam Bahasa Indonesia, kata  Algorithm diserap menjadi

     Algoritma.

    2.1.2.2  Definisi Algoritma

    Beberapa definisi algoritma adalah sebagai berikut :

    a. Kamus Bahasa Indonesia

    Algoritma adalah urutan logis pengambilan keputusan untuk

     pemecahan masalah.

     b. Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi

    Algoritma adalah suatu metode khusus untuk menyelesaikan

    suatu permasalahan.

    c. Goodman Hedetniemi

    Algoritma adalah urutan-urutan terbatas dari operasi-operasi

    yang terdefinisi dengan baik yang masing-masing membutuhkan

    memori dan waktu yang terbatas untuk menyelesaikan suatu

     permasalahan.

    2.1.3  Definisi Optimasi

    Optimasi (Wikipedia, optimasi,2007) adalah suatu proses untuk mencapai

    hasil yang ideal atau optimal (nilai efektif yang dapat dicapai). Dalam

    disiplin matematika, optimasi merujuk pada studi permasalahan yang

    mencoba untuk mencari nilai minimum dan maksimum dari suatu fungsi

  • 8/16/2019 2009-1-00407-MTIF Bab 2

    3/25

    9

    nyata. Untuk mencapai nilai minimum dan maksimum tersebut, secara

    sistematis dilakukan pemilihan integer atau bilangan nyata yang akan

    memberikan solusi y ang optimal.

    Sedangkan optimasi menurut Kamus Besar Bahasa Indonesia adalah

     prosedur yang digunakan untuk membuat sistem atau desain yang fungsional

    atau seefektif mungkin dengan menggunakan teknik aplikasi matematika.

    2.1.4  Definisi Simulasi

    Simulasi (Wikipedia, optimasi,2007) adalah suatu peniruan sesuatu yang

    nyata, keadaan sekelilingnya (state of affairs), atau proses. Aksi melakukan

    simulasi sesuatu secara umum mewakilkan suatu karakteristik kunci atau

    kelakkuan dari sistem-sistem fisik atau abstrak.

    2.2  Gambaran Umum Objek

    Kontainer diberikan dalam bentuk tiga dimensi. Gambar dibawah ini

    menggambarkan bagian kiri, depan dan bagian lainnya. Penggambaran satu set

    kotak direpresentasikan dalam bentuk vector. Tinggi kontainer didefinisikan sebagi

    hc, lebar kontainer didefinisikan sebagai wc dan  panjang kontainer didefinisikan

    sebagai lc.

  • 8/16/2019 2009-1-00407-MTIF Bab 2

    4/25

    10

    Gambar 2.1 Kontainer Dalam Sistem Koordinat Tiga Dimensi

    Berbagai asumsi telah dibuat dalam rangka untuk menyederhanakan,

    memformulasikan dan menyelesaikan masalah penyusunan barang pada kontainer

    ini. Beberapa asumsi yang dimaksud adalah sebagai berikut :

    a)  Bidang yang digunakan berbentuk persegi panjang (kotak atau balok) dengan

    ukuran yang berbeda-beda.

     b) 

    Kotak tersebut harus diatur sedemikian rupa dengan kontainer dan paralel

    dengan bagian dinding-dindingnya.

    c)  Kotak tersebut dapat dirotasi maupun tidak, tergantung kebutuhan dan keadaan

    yang terjadi. Rotasi tersebut memiliki enam kemungkinan posisi. Posisi

    tersebut diantaranya akan diperlihatkan pada gambar 2.2 dibawah ini:

    d) 

  • 8/16/2019 2009-1-00407-MTIF Bab 2

    5/25

    11

    Gambar 2.2 Enam Kemungkinan Posisi Barang

    d)  Kotak dengan ukuran paling besar harus disusun terlebih dahulu yang diikuti

    dengan kotak yang lebih kecil

    e)  Kotak tersebut diseimbangkan dengan cara mengisi bagian-bagian yang kosong

    dengan busa. (Pisinger, 2002).

    f)  Kotak yang berada paling atas didukung oleh kotak-kotak yang ada

    dibawahnya.

    Model matematika umum untuk memaksimalkan volume kontainer yang

    digunakan dapat diformulasikan sebagai berikut :

  • 8/16/2019 2009-1-00407-MTIF Bab 2

    6/25

    12

    dimana i = Kotak ke-1 sampai dengan kotak ke-n

     j = Kontainer ke-1 sampai dengan kontainer ke-n

    S i = Ukuran kotak ke-1 sampai dengan ke-n

    V i = Volume kotak ke-1 sampai dengan ke-n

    Smax = Ukuran kontainer 

     

    2.3  NP-Hard  dan NP-Complete

    Waktu yang dibutuhkan algoritma terbaik untuk menghasilkan solusi dari

     banyak problem (permasalahan) dapat dibagi menjadi dua kelompok, y aitu :

      P (Polynomial Problem)

    Polynomial Problem  adalah suatu permasalahan dimana waktu yang

    dibutuhkan untuk menghasilkan solusi terbatas pada waktu polynomial dalam

    tingkat kecil. Contohnya : permasalahan evaluasi  polynomial  dengan O(n),

     pengurutan dengan O(n log n) dan string editing dengan O(mn)

       NP ( Non Polynomial)

    Dalam pencarian untuk mengembangkan algoritma yang efisien, tidak

    satupun yang dapat mengembangkan algoritma dengan waktu  polynomial 

  • 8/16/2019 2009-1-00407-MTIF Bab 2

    7/25

    13

    untuk permasalahan NP. Hal ini sangat penting karena algoritma y ang waktu

     pencarian solusinya lebih besar dari  polynomial  (biasanya waktu pencarian

    adalah eksponensial) membutuhkan waktu yang cukup lama untuk

    menjalankan permasalahan skala menengah (Horowitz, Sahni dan

    Sanguthevar Rajasekaran, 1998, pp495-553). Contoh  NP  adalah

     permasalahan travelling salesman person dengan O(n22n) dan permasalahan

    knapsack  dengan O(2n/2

    ).

    Dibagi menjadi dua yaitu:  NP-hard dan  NP-complete. Suatu

     permasalahan yang termasuk kedalam  NP-complete  memiliki sifat yang

    dapat dipecahkan dalam waktu polynomial jika dan hanya jika seluruh

     permasalahan NP-complete  juga dapat dipecahkan dalam waktu  polynomial.

    Jika sebuah permasalahan  NP-hard dapat dipecahkan dalam waktu

     polynomial  maka seluruh permasalahan  NP-complete dapat dipecahkan

    dalam waktu  polynomial. Seluruh permasalahan  NP-complete merupakan

     permasalahan  NP-hard  , tetapi sebagian permasalahan NP-hard belum tentu

    menajadi permasalahan  NP-complete (Horowitz, Sahni dan Sanguthevar

    Rajasekaran, 1998, pp495-553).

    Relasi antara P,NP, NP-complete, NP-hard akan ditunjukkan pada

    gambar dibawah ini:

  • 8/16/2019 2009-1-00407-MTIF Bab 2

    8/25

    14

    Gambar 2.3 Relasi antara P,NP, NP-complete, NP-hard

    2.4 Wall Building Approach

    Diperkenalkan oleh George dan Robinson. Pada wall building approach 

    mengisi kontainer sesuai jumlah layer  yang sejajar dengan kedalaman kontainer.

    Pendekatan pada algoritma ini berdasarkan normalized layer depth dimana hanya

    mempertimbangkan layer   dengan kedalaman (d ) tertentu yang sesuai dengan

    dimensi kotak. Untuk lebih jelas perhatikan gambar dibawah ini :

    Gambar 2.4 Wall Building Approach

  • 8/16/2019 2009-1-00407-MTIF Bab 2

    9/25

    15

    Kedalaman layer   harus diseleksi secara teliti untuk mendapatkan solusi yang

     baik. Oleh karena itu ketika akan membuat sebuah layer , algoritma ini menerapkan

    aturan pengurutan untuk memilih nilai d . Diantara kotak yang tersisa, akan dipilih

    kotak yang memiliki dimensi terbesar. Alasan utamanya karena kotak tersebut

    akan sulit untuk dimuat apabila ditempatkan pada urutan terakhir dalam prosedur

     pengepakan.

    Setelah kedalam layer ditentukan, dilakukan pengepakan dengan metode

    greedy per baris secara horizontal disetiap potongan layer . Setiap potongan akan

    dimasukkan kotak yang tersisa secara berurutan berdasarkan urutan panjang kotak

    yang terbesar terlebih dahulu.

    2.5 Metode Greedy

    Pengisian barang dalam kontainer dalam ruang tiga dimensi merupakan suatu

     permasalahan NP-Hard  (Pisinger, 2002). Sampai sekarang ini, hanya ada beberapa

    metode yang dapat digunakan untuk menyelesaikan permasalahan ini. Fekette dan

    Schepers (1997) mengembangkan model umum untuk solusi yang tepat dalam

    ruang multi-dimensi. Martello et al. (2000) memperkenalkan metode  Branch &

     Bound  ( B&B) untuk pengisian barang dalam kontainer dalam ruang tiga dimensi

    (Wikipedia,2008).

    Metode yang akan digunakan pada pengisian kontainer ini adalah metode

    greedy yang dapat diartikan rakus, tamak. Dimana prinsip dari metode ini sendiri

    adalah “take  what you can get now”. Algoritma nya sendiri merupakan solusi

    langkah per langkah dan pada setiap langkahnya banyak pilihan yang perlu

    dieksplorasi oleh karena itu pada setiap langkah perlu dibuat keputusan yang

  • 8/16/2019 2009-1-00407-MTIF Bab 2

    10/25

    16

    terbaik dalam menentukan pilihan. Pada setiap langkah juga didapat hasil yang

    dinamakan optimum lokal (local optimum) yang diharapkan langkah sisanya akan

    mengarah ke optimum global (global optimum).

    Pada tabel berikut ini penulis akan menjelaskan karakteristik geometrik dari

     barang dan kontainer:

    Tabel 2.1 Properti Kendaraan dan Barang yang Digunakan

    Time windows  sering dikarakteristikkan sebagai time interval, namun dalam

    formulasi matematika yang akan digunakan time windows t i merupakan single time 

    dan merepresentasikan rentang waktu secara keseluruhan

    Gambar 2.5 Karakteristik Geometrik Dari Kontainer dan Barang

    Vehicle j Item i

    N : Number of itemsM : number of vehicle

    L j : Length l

    i : Length

    Hj :

    Height

    hi : Height

    D j : Depth d

    i : Depth

    W j : Capacity w

     j : weight

    N j : Number of slices k

    i : Type of goods

    ti : Time windows

  • 8/16/2019 2009-1-00407-MTIF Bab 2

    11/25

    17

    Untuk mempertimbangkan kompatibilitas diantara produk yang berbeda, maka

    digunakan relasi ekivalen dimana relasi tersebut merupakan relasi yang sesuai,

    dinotasikan dengan C. Relasi ini dapat dipresentasikan dengan q by q compatibility

    matrix yang dinotasikan dengan  Z , dimana q merupakan jumlah kategori yang

    dipertimbangkan

    sebagai contoh, jika z13 = 0, maka itu berarti barang kategori 1 tidak sesuai dengan

     barang kategori 3

    xijk = ( xi , yi , zi) yang merupakan koordinat tiga dimensi dari barang yang akan

    dimasukkan kedalam kontainer. Selain itu, terdapat  E ij yang merupakan bagian

    dari kontainer j (vehicle j) untuk barang tertentu.

    Setiap kontainer terbagi menjadi beberapa potongan, yang dinamakan  N  j

     jumlah potongan dalam kontainer tersebut. Potongan dikarakteristikkan dengan

    lebar. Gambar 2.6 memberikan penjelasan lebih detil tentang potongan itu:

  • 8/16/2019 2009-1-00407-MTIF Bab 2

    12/25

    18

    Gambar 2.6 Representasi Potongan Pada Kontainer

    Masalah dalam pengisian barang dalam kontainer untuk meminimalkan tempat

    kosong dapat dideskripsikan dengan persamaan matematika berikut ini :

    (1)

    Persamaan (1) digunakan untuk meminimasi tempat kosong pada kontainer.

    (2)

    Persamaan (2) digunakan untuk memastikan bahwa barang-barang yang akan

    disusun dalam kontainer tidak melebihi berat maksimal yang dapat ditampung oleh

    kotainer tersebut

    (3)

    Persamaan (3) digunakan untuk memastikan bahwa volume barang-barang yang

    akan disusun dalam kontainer tidak melebihi volume maksimal yang dapat

    ditampung oleh kotainer tersebut

    (4)

  • 8/16/2019 2009-1-00407-MTIF Bab 2

    13/25

  • 8/16/2019 2009-1-00407-MTIF Bab 2

    14/25

    20

    (13)

    Pertidaksamaan (11) berpotensial digunakan untuk meletakkan barang kurang dari

    satu kontainer berdasarkan pertimbangan beratnya dan pertidaksamaan (12)

    mempertimbangkan barang mana yang tingginya melebihi tinggi kontainer, barang

    mana yang lebarnya melebihi lebar kontainer dan barang mana yang panjangnya

    melebihi panjang kontainer. Dalam pertidaksamaan (13) diasumsikan bahwa berat

     barang lebih besar dari berat maksimal kontainer sebaliknya dalam kasus non-

    geometric , solusi yang didapat merupakan sebuah pilihan.

    2.5.1 Kelemahan dan Kelebihan Metode Greedy

    Kelemahan umum algoritma greedy, yaitu hanya mencari solusi terbaik

    saat itu, padahal belum tentu terbaik untuk langkah berikutnya. Di sisi lain,

    algoritma ini pun mempunyai kelebihan yakni kompleksitas waktu dan

    ruangnya rendah, sehingga komputer sangat kecil kemungkinan mengalami

    masalah dalam lamanya waktu pencarian langkah atau masalah ketersediaan

    memori.

    2.6  Model Rekayasa Piranti Lunak

    Model rekayasa piranti lunak yang digunakan adalah yang seringkali disebut

    sebagai  prototype model. Model ini memberikan pendekatan-pendekatan yang

    sistematis dan berurutan (sequential) dalam pengembangan suatu software.

    Tahapan-tahapan yang terdapat dalam prototype model adalah sebagai berikut :

  • 8/16/2019 2009-1-00407-MTIF Bab 2

    15/25

  • 8/16/2019 2009-1-00407-MTIF Bab 2

    16/25

    22

    •  Evaluasi prototype 

    Klien  mengevaluasi  prototype yang dibuat dan digunakan untuk memperjelas

    kebutuhan software.

    2.7  Model Perancangan

    2.7.1 Object Oriented

    Dari tahun 1950 sampai dengan tahun 1970-an, perusahaan-perusahaan

    menekankan proses saat mengembangkan sistem informasi dan

    menggunakan alat-alat pembuatan model proses seperti  flowchart  dan Data

    Flow Diagram. Selama tahun 1970-an dan 1980-an, penekanan bergeser ke

    data, dengan menggunakan  Entity Relationship Diagram dan kamus data.

    Selama tahun 1990-an kecenderungan berubah menjadi mengkombinasikan

     proses dan data menjadi object .

    Keuntungan object-oriented  menurut Mathiassen et al (2000, pp5-6) adalah :

    1. 

    Object-oriented   menyediakan informasi yang jelas mengenai konteks

    sistem.

    2. Hubungan yang kuat di antara object-oriented analysis, object-oriented

    design, object-oriented user interface, dan object oriented programming.

    Object dapat memodelkan sosial, ekonomi, dan kondisi organisasi,

    demikian juga dengan system interface,  function,  process, dan

    component . Dalam analisis, pengembang menggunakan object   untuk

    menggambarkan sistem itu sendiri. Pengembang juga menggunakan

    object  sebagai konsep sentral dalam pemrograman.

  • 8/16/2019 2009-1-00407-MTIF Bab 2

    17/25

    23

    3. Object   menawarkan pengembangan sebuah cara pemikiran yang alami

    atas suatu permasalahan yang mendukung abstraksi tanpa memaksakan

    cara pandang teknik satu sisi.

    2.7.2 Object Oriented Analysis and Design

    Menurut Mathiassen et al (2000, pp14-15) terdapat 4 aktivitas utama

    dalam Object Oriented Analysis and Design, yaitu Problem Domain

     Analysis,  Application Domain Analysis,  Architectural Design, dan

    Component Design. Seperti diperlihatkan gambar dibawah ini :

    Gambar 2.8 Aktivitas Utama pada Object Oriented Analysis and Design

    Sumber : (Mathiassen et al, 2000, p15)

  • 8/16/2019 2009-1-00407-MTIF Bab 2

    18/25

    24

    2.7.2.1  Problem Domain Analysis

    Problem domain  dapat didefinisikan sebagai bagian dari

    sebuah keadaan yang dikelola, diawasi atau dikontrol oleh sistem

    (Mathiassen et al, 2000, p6).

    Menurut Mathiassen et al (2000, p46), tujuan dari  problem

    domain analysis adalah untuk mengembangkan model yang dapat

    digunakan untuk merancang dan mengimplementasikan sebuah

    sistem yang dapat memproses, mengkomunikasikan, dan

    memberikan informasi mengenai  problem domain  dalam cara

    yang tepat dan dapat digunakan. Problem domain analysis terdiri

    dari tiga aktivitas yakni:  class, structure, dan behaviour  

    (Mathiassen et al, 2000, pp46-47). 

    2.7.2.2  Application Domain Analysis

    Menurut Mathiassen et al (2000,p6), application domain 

    adalah organisasi yang mengelola, mengawasi, atau mengontrol

    sebuah problem domain.  Application domain analysis terdiri dari

    tiga tahap, yakni: usage, function, dan interface. 

    2.7.2.3  Architectural Design

    Perbedaan dari sistem yang sukses dengan system yang

    kurang sukses terletak pada architectural design  yang baik.

     Architecture  (arsitektur) dari sebuah sistem memenuhi

     perancangan kriteria tertentu, juga berguna sebagai kerangka kerja

    untuk aktivitas pengembangan yang tersisa (Mathiassen et al,

    2000, p173).

  • 8/16/2019 2009-1-00407-MTIF Bab 2

    19/25

    25

    Menurut Mathiassen et al (2000, p174), konsep architecture  

    dapat dibedakan menjadi 2, component architecture  yang

    memiliki fokus pada class (aspek stabil), dan process architecture 

    yang memiliki fokus pada object  (aspek dinamis). 

    2.7.2.4 Component Design

    Tujuan dari component design  adalah untuk menentukan

    sebuah implementasi dari persyaratan kebutuhan dalam

    architectural framework (Mathiassen et al, 2000, p231). Aktivitas

    component design  terdiri dari tiga bagian yaitu : model

    component ,  function component , connecting component . 

    2.7.3 UML (Unified Modeling Language) 

    Unified Modelling Language  (UML)  adalah sebuah "bahasa" yg telah

    menjadi standar dalam industri untuk visualisasi, merancang dan

    mendokumentasikan sistem piranti lunak. UML menawarkan sebuah

    standar untuk merancang model sebuah sistem. Dengan menggunakan

    UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak,

    dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi

    dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun.

    Tetapi karena UML juga menggunakan class dan operation dalam konsep

    dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa

     berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun

    demikian, UML tetap dapat digunakan untuk memodelkan aplikasi

     prosedural dalam VB atau C.

  • 8/16/2019 2009-1-00407-MTIF Bab 2

    20/25

    26

    Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan

    syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk

    menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki

    makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk

    tersebut dapat dikombinasikan

    Sampai dengan awal tahun 1990-an, metode object oriented analysis

    and design dikarateristikkan dengan berbagai macam aktivitas dan notasi.

    Perbedaan ini dibuat untuk mengembangkan object oriented.  Konsep

    dasarnya didefinisikan secara berbeda dan tidak ada standar notasi. Banyak

    yang melihat keadaan ini merupakan faktor yang signifikan dalam usaha

    mengembangkan object oriented. Pertengahan tahun 1990-an, usaha untuk

    menstandarisasi notasi object oriented dimulai. Hasilnya adalah UML

    (Unified Modeling Language), yang distandarisasikan pada tahun 1997.

    (Mathiassen et al, 2000, p330-331).

    UML mendefinisikan diagram-diagram diantara :

    1.  Use Case Diagram

    Use case diagram menggambarkan fungsionalitas yang diharapkan

    dari sebuah system, yang ditekankan adalah “apa” yang diperbuat sistem,

    dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah

    interaksi antara aktor dengan sistem. Use case merupakan sebuah

     pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar

     belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas

    manusia atau mesin yang berinteraksi dengan sistem untuk melakukan

     pekerjaan-pekerjaan tertentu.

  • 8/16/2019 2009-1-00407-MTIF Bab 2

    21/25

    27

    Gambar 2.9 Contoh Use-Case Diagram

    2.   Activity Diagram

     Activity diagrams menggambarkan berbagai alir aktivitas dalam

    sistem yang sedang dirancang, bagaimana masing-masing alir berawal,

    decision yang mungkin terjadi, dan bagaimana mereka berakhir.  Activity

    diagram juga dapat menggambarkan proses paralel yang mungkin terjadi

     pada beberapa eksekusi.

     Activity diagram merupakan state diagram khusus, di mana sebagian

     besar state adalah action dan sebagian besar transisi di-trigger oleh

    selesainya state sebelumnya (internal processing). Oleh karena itu

    activity diagram tidak menggambarkan behaviour internal sebuah sistem

    (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan

     proses-proses dan jalur-jalur aktivitas dari level atas secara umum.

  • 8/16/2019 2009-1-00407-MTIF Bab 2

    22/25

  • 8/16/2019 2009-1-00407-MTIF Bab 2

    23/25

    29

    3.  Sequence Diagram

    Sequence diagram menggambarkan interaksi antar objek di dalam

    dan di sekitar sistem (termasuk pengguna, display, dan sebagainya)

     berupa message yang digambarkan terhadap waktu. Sequence diagram

    terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek

    yang terkait).

    Sequence diagram  biasa digunakan untuk menggambarkan skenario

    atau rangkaian langkah-langkah yang dilakukan sebagai respons dari

    sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang

    men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi

    secara internal dan output apa yang dihasilkan.

    Masing-masing objek, t ermasuk aktor, memiliki lifeline vertikal.

     Message digambarkan sebagai garis berpanah dari satu objek ke objek

    lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi

    operasi/metoda dari class.

     Activation bar menunjukkan lamanya eksekusi sebuah proses,

     biasanya diawali dengan diterimanya sebuah message. Untuk objek-objek

    yang memiliki sifat khusus, standar UML mendefinisikan icon khusus

    untuk objek boundary, controller dan persistent entity. 

    2.7.4  Flowchart

    Flowchart adalah representasi skematik dari sebuah algoritma atau

    sebuah proses yang teratur, menunjukkan langkah-langkah dalam kotak-

    kotak yang bervariasi dan urutannya dengan menghubungkan kotak-kotak

    tersebut dengan panah. Flowchart digunakan dalam mendesain atau

  • 8/16/2019 2009-1-00407-MTIF Bab 2

    24/25

    30

    mendokumentasikan sebuah proses atau program (Wikipedia, 2008).

    Flowchart pertama kali diperkenalkan oleh Frank Gilbreth kepada anggota

    ASME (American Society of Mechanical Engineers) pada tahun 1921

    sebagai representasi “Process Charts – First Steps in Finding the One Best

    Way” dan saat ini menjadi alat yang sering digunakan untuk menunjukkan

    aliran proses dalam suatu algoritma.

    Dua macam flowchart yang menggambarkan proses dengan komputer,

    yaitu:

    • System flowchart

    Bagan yang memperlihatkan urutan prosedur dan proses dari

     beberapa file dalam media tertentu. System flowchart  menggambarkan :

    1.  Hubungan antar suatu file dengan file lainnya

    2.  Media yang dipakai untuk setiap file

    • Program flowchart

    Bagan yang memperlihatkan urutan dan hubungan proses dalam suatu

     program.

    Flowchart  (Diagram Alur)

      Langkah awal pembuatan p rogram

      Urutan proses di program menjadi lebih jelas 

    Sebuah Flowchart pada umumnya memiliki simbol-simbol sebagai berikut :

  • 8/16/2019 2009-1-00407-MTIF Bab 2

    25/25

    31

    SIMBOL NAMA FUNGS I

    TERMINATOR Permulaan/akhir p rogram

    GARIS ALIR(FLOW LINE) 

    Arah aliran program

    PREPARATIONProses inisialisasi/pemberian

    harga awal

    PROSESProses perhitungan/proses

     pengolahan data

    INPUT/OUTPUT

    DATA

    Proses input/output data,

     parameter, informasi

    PREDEFINED

    PROCESS

    (SUB PROGRAM)

    Permulaan sub program/proses

    menjalankan sub program

    DECISION

    Perbandingan pernyataan,

     penyeleksian data yang

    memberikan pilihan untuk

    langkah selanjutnya

    ON PAGE

    CONNECTOR

    Penghubung bagian-bagian

    flowchart yang berada pada satu

    halaman

    OFF PAGE

    CONNECTOR

    Penghubung bagian-bagian

    flowchart yang berada pada

    halaman berbeda

    Tabel 2.2 Simbol-Simbol Flowchart