Tuesday, June 5, 2012

TEKNIK PENULISAN ALGORITMA

,
           Teknik Tertulis 
           1.Bahasa Indonesia Terstruktur (BIT)
        BIT adalah alat yang cukup efisien untuk menggambarkan algoritma dengan menggunakan   Bahasa Indonesia dimana urutan barisan langkah-langkah yang digunakan harus disusun sedemikian rupa agar proses penyelesaian tidak berbelit-belit sedemikian sehingga bagian-bagian proses dapat dibedakan dengan jelas mana bagian input, proses dan output sehingga memudahkan user melakukan pemeriksaan ulang.         
Contoh:
Menghitung Luas Persegi
Luas sebuah persegi didapatkan dengan mengalikan panjang dengan tinggi
           1.Masukkan nilai panjang
           2.Masukkan nilai lebar
           3.Hitung luas dengan panjang kali lebar
           4.Tampilkan hasil perhitungan luas
           5.Selesai
      2.Pseudocode 
      Pseudocode berarti kode yang mirip dengan kode pemrograman yang sebenarnya. Pseudocode adalah cara untuk menuliskan sebuah algoritma secara high-level (level tingkat tinggi). Biasanya Pseudocode dituliskan dengan kombinasi Bahasa Inggris dan notasi matematika.Pseudocode ditulis berbasis pemrograman seperti BASUC, PASCAL, atau C, sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada programmer. Biasanya sebuah Pseudocode tidak terlalu detail dibandingkan dengan program.

Gaya Penulisan Pseudocode

o   Satu pseudocode satu baris
o   Pisahkan modul-modul atau kelompok pseudocode dengan memberikan spasi beberapa baris untuk mempermudah pembacaan.
o   Pseudocode ditulis dengan huruf capital, sedangkan komentar atau variable dalam huruf kecil.
o   Berikanlah tabulasi yang berbeda untuk penulisan pseudocode-pseudocode yang berada dalam kalang (loop) atau struktur kondisional.
o   Lakukan pembatasan jumlah barispseudocode setiap modulnya, misalnya 50 – 75 baris pseudocode per modul, sehinga tidak terlalu panjang.

Komponen-komponen Pseudocode, antara lain :
1.      Variabel.
Merupakan tempat penyimpanan sebuah nilai.
2.      Perulangan (Loop).
Teknik for-do
Teknik repeat-until
Teknik while-do
3.      Percabangan (branch).
Teknik if-then
Teknik select-case
4.      Modul.
Procedure/Sub
Function.Teknik Rekursif
          3.   Spark
             Spark ( programming language) adalah sebuah komputer yang didefinisikan secara formal-bahasa pemrograman berdasarkan bahasa pemrograman, dimaksudkan untuk menjadi aman dan untuk mendukung pengembangan perangkat lunak integritas tinggi yang digunakan dalam aplikasi dan sistem operasi mana diprediksi dan sangat handal sangat penting baik untuk alasan keamanan (misalnya, avionik di pesawat / pesawat ruang angkasa, atau sistem kesehatan dan proses software kontrol dalam powerplants nuklir) atau untuk integritas bisnis (contoh adalah perangkat lunak keuangan untuk perusahaan perbankan dan asuransi).
         SPARK bertujuan untuk mengeksploitasi kekuatan ketika mencoba untuk menghilangkan semua potensi ambiguitas dan ketidakamanan. Program SPARK adalah dengan desain dimaksudkan untuk menjadi jelas, dan perilaku mereka diwajibkan untuk tidak terpengaruh oleh pilihan kompiler . Tujuan ini dicapai antara lain dengan menghilangkan beberapa fitur  lebih problematis (seperti tasking paralel tidak dibatasi) dan sebagian dengan memperkenalkan penjelasan atau "komentar resmi" yang menyandikan niat perancang aplikasi dan persyaratan untuk komponen tertentu dari program. Kombinasi pendekatan ini dimaksudkan untuk memungkinkan SPARK desain untuk memenuhi tujuan, yaitu:
    * Logis kesehatan
    * Definisi formal yang ketat
    * Sederhana semantik
    * Keamanan
    
* Ekspresif daya
    * Verifiability
    * Sumber daya terbatas (ruang dan waktu) persyaratan.
    * Runtime persyaratan sistem minimal

             SPARK menjadi seorang 'subset dijelaskan' dari program yang ditulis dalam    SPARK dapat dikompilasi oleh kompiler  ('subset' dari  mengimplikasikan bahwa tidak semua fitur dapat digunakan). 'Beranotasi' berarti bahwa penjelasan tertentu dalam bentuk komentar (yaitu, diabaikan oleh compiler) dievaluasi oleh sebuah alat tambahan yang disebut 'Pemeriksa' yang dimaksudkan untuk menjamin penegakan hukum secara tegas persyaratan dinyatakan melalui penjelasan tersebut untuk menganalisis sesuai SPARK / program untuk kebenarannya sebelum diteruskan ke sebuah kompiler untuk mengkompilasi kode sumber.
 
4.English Structure
      English Structure merupakan alat yang cukup efisien untuk menggambarkan suatu  algoritma.Basis dari English Structure adalah bahasa Inggris, tetapi juga dapat menggunakan bahasa Indonesia. Oleh karena bahasa manusia yang digunakan sebagai dasar penggambaran algoritma, maka English Structure lebih tepat untuk menggambarkan suatu algoritma yang akan dikomunikasikan kepada pemakai system.
         Gaya Penulisan Structured English/Indonesia
o   Common Style (menggunakan huruf besar di awal dan selanjutnya huruf kecil semua)
o   Capitalized Common Style (menggunakan huruf besar semua)
o   Outline Common Style (dengan menggunakan nomor urut)
o   Narrative Style (berbentuk uraian)
o   Gaya yang lain (tiap kata kunci ditulis dengan huruf besar semua).

Struktur Urut pada Stuctured English

 Struktur ini terdiri dari sebuah instruksi atau blok instruksi yang tidak mempunyai  perulangan  atau keputusan di dalamnya.
          Contoh Stuctured English dengan menggunakan bahasa Indonesia :
o Inisialisasi dan pemberian nilai awal variabel
o Baca data panjang dan lebar empat persegi panjang
o Hitung luas empat persegi panjang sama dengan panjang dikalikan dengan lebar
o Tampilkan hasil perhitungan

       Teknik Gambar
             1. Hierarchy plus Input-Process-Output (HIPO)
      HIPO merupakan alat dokumen program yang dikembangkan dan didukung oleh IBM. Tetapi kini HIPO juga telah digunakan sebagai alat bantu untuk merancang dan mendokumentasikan siklus pengembangan system.

          Sasaran HIPO
            1. Untuk menyediakan suatu struktur guna memahami fungsi-fungsi dari sistem

            2. Untuk lebih menekankan fungsi-fungsi yang harus diselesaikan oleh program,
            bukannya menunjukkan perintah-perintah program yang digunakan untuk
melaksanakan fungsi tersebut

3. Untuk menyediakan penjelasan yang jelas dari input yang harus digunakan dan output   harus dihasilkan oleh masing-masing fungsi pada tiap-tiap tingkatan dari diagram-diagram HIPO

  4.Untuk menyediakan output yang tepat dan sesuai dengan kebutuhan-  kebutuhan  pemakai
           
Diagram dalam Paket HIPO
- Fungsi-fungsi dari sistem digambarkan oleh HIPO dalam tiga tingkatan. Untuk
  masing-masing tingkatan digambarkan dalam bentuk diagram tersendiri. Dengan
  demikian HIPO menggunakan tiga macam diagram untuk masing-masing
  tingkatannya, yaitu :

I. Visual Table Of Contents (VTOC)
            -Diagram ini menggambarkan hubungan dari fungsi-fungsi secara berjenjang

II. Overview Diagram
- Menunjukkan secara garis besar hubungan dari input, proses dan output
- Bagian input menunjukkan item-item data yang akan digunakan oleh bagian
  proses
- Bagian proses berisi sejumlah langkah-langkah yang menggambarkan kerja dari
  fungsi
- Bagian output berisi dengan item-item data yang dihasilkan atau dimodifikasi oleh
  langkah-langkah proses

III. Detail Diagrams
- Merupakan diagram tingkatan yang paling rendah di diagram HIPO
- Diagram ini berisi dengan elemen-elemen dasar dari paket yang menggambarkan
  secara rinci kerja dari fungsi

Variasi dari Diagram HIPO
-VTOC dari paket HIPO disebut juga dengan hierarchy diagram atau hierarchy
  chart.
-Overview diagram dan detail diagram dari paket HIPO sering disebut sebagai IPO
-Hierarchy chart sebagai pengganti dapat pula digunakan bagan terstruktur
  (structure chart) utk menggambarkan fungsi-fungsi dari sistem secara berjenjang
-Input dan Output utk diagram IPO dapat dilihat dari bagan terstrukturnya dan
  Proses di diagram IPO dapat digambarkan dengan menggunakan structured
  english atau pseudocode.


2.   Nassi-Schneiderman Chart
         Salah satu cara menggambarkan algoritma, selain dengan flowchart di atas, adlah menggunakan flowchart Nassi-Schneiderman. Pada dasarnya flowchart tersebut merupakan flowchart terstruktur yang tidak menggunakan anak panah sebagai penunjuk proses.
Nassi-Schneiderman Diagram merupakan notasi alternative untuk aliran proses. Nassi-Schneiderman Diagram adalah metode grafis untuk menyatakan algoritma. Ini adalah pendekatan diagram untuk algoritma desain tetapi tidak besar untuk menarik sebagai diagram alur.
NS diagram merupakan alternative yang modern untuk diagram alur karena alas an berikut:
·         Diagram NS merupakan alternative untuk pseudocode
·         Sebuah diagram NS dapat ditarik menggunakan teks dan baris
·         Menun jukkan digram NS diolah seri,dengan seleksi atau dengan iterasi
·         Diagram NS dibaca dari atas ke bawah
·         Diagram NS lebih terstruktur dari flowchart
              Diagram ini juga mengenal tiga macam struktur program, yaitu struktur urut, struktur perulangan dan struktur keputusan. Berikut ini adalah bentuk symbol-simbol yang digunakan pada penggambaran flowchart Nassi-Schneiderman.


3.   Structered Chart
     Structured Chart (bagan terstruktur) digunakan untuk mendefinisikan dan mengilustrasikan organisasi dari system secara berjenjang dalam bentuk modul dan submodul. Structure Chart juga menunjukkan hubungan elemen data dan elemen control serta hubungan antarmodulnya sehingga structure chart dapat memberikan penjelasan yang lengkap tentang system dipandang dari elemen data, elemen control, modul dan hubungan antarmodulnya.

Model  Structure  Chart
Structure Chart memiliki dua model penggambaran sistem, yaitu Transformes-Centered dan Transaction-Centered
a.       Transformed-Centered
Structure Chart dengan model Transformed Centered menggambarkan sistem dalam  cabang utama, yaitu :
·      Cabang Input yang merupakan cabang yang akan menerima input dan  menentukan status input untuk siap di proses
·    Cabang Proses yang merupakan cabang yang akan melakukan fungsi utama dari sistem, yaitu memproses input yang dikirim dari cabang input
·        Cabang Output, merupakan cabang yang akan memformat data menjadi output

            4.   Flowchart
        Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan     prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian.

         
 

2 comments :