Rabu, 23 Maret 2011

Modularisasi

Modularisasi

Modularisasi digunakan bila ada suatu permasalahan yang kompleks, sehingga langkah pertama adalah mengidentifikasikan tugas utama, setelah itu baru di bagi kedalam tugas yang lebih rinci.
Proses ini disebut juga dengan Top Down Design

Memecahkan algoritma ke dalam algoritma yang lebih kecil/modul
Modul yang dibentuk mempunyai kesatuan tugas / fungsi maupun kesatuan proses/prosedur
Setiap modul harus mempunyai single entry dan single exit secara beruntun dari atas ke bawah atau dari awal ke akhir modul
Memiliki main program dan sub program atau modul

Menyampaikan data dari modul pemanggil ke modul yang dipanggil (subordinate)
Menyampaikan informasi dari subordinate ke modul pemanggil
Informasi/data yang dikirim atau diterima di pass 2 arah dari modul pemanggil ke subordinate maupun sebaliknya

Variabel, Konstanta, Literal
Elementary Data
Integer
Real
Character
Boolean
Struktur Data
Record
File
Array
String


Variabel
Adalah nama yang diberikan bagi sekumpulan sel memory yang di rancang untuk menyimpan data tertentu
Disebut variabel karena data yang tersimpan dapat diubah
Konstanta
Sebuah data dengan nama dan nilai yang akan tetap sama selama program dijalankan
Literal
Adalah konstanta yang namanya menunjukkan nilainya

Integer:
Menampilkan set bilangan baik positif maupun negatif
Real :
Menampilkan set bilangan, positif dan negatif dan juga desimal
Character
Menampilkan karakter alphabet, dengan tambahan spesial karakter
Boolean:
Menampilkan flag atau switch yang berisi satu atau dari dua kemungkinan – False atau True

Record:
Sebuah kumpulan data / field yang memiliki hubungan antara satu dengan yang lainnya
File
Sebuah kumpulan record.
Array
Sebuah struktur data yang terdiri dari sejumlah variabel yang mempunyai tipe yang sama dan diakses dengan nama yang sama juga
String
Sebuah kumpulan karakter

Global Data
Variabel yang dikenal diseluruh program tersebut, dan dapat diakses dari setiap modul di program tersebut.
Local Data
Variabel yang didefiniskan disebuah modul. Variabel ini hanya dikenal di modul dimana variabel tersebut didefinisikan
Jangkauan Data
Adalah bagian program dimana variabel didefinisikan dan dapat diakses. Contoh: jangkauan data untuk global data adalah seluruh program
Side Effect
Adalah sebuah bentuk komunikasi antar modul dengan bagian lain dalam program.

contohnya...


    Sub A
        call B
    End sub

    Sub B
        integer X, Y, total
        string baca
        X = 20
        Y = 30
        baca = "Jumlah X+Y adalah "
        total = X + Y
        PRINT baca + total
    End Sub


    Sub A
        Call B
        PRINT baca + total
    End Sub

    Sub B
        integer X, Y, total
        string baca
        X = 20
        Y = 30
        baca = "Jumlah X+Y adalah "
        total = X + Y
    End Sub


    Sub Tambah
        Total = x + y
        PRINT Total
    End Sub

    Sub Kali
        Total = x * y
        PRINT Total
    End Sub
   
    Sub Bagi
        Total = x / y
        PRINT Total
    End Sub


Pertemuan ini tidak tugas dulu ya..

Senin, 14 Maret 2011

Repetition

Repetition(Pengulangan)
Repetition digunakan jika ada beberapa statement berurutan yang harus diulang.
Ada dua cara untuk melakukan pengulangan :

  1. Menggunakan DO WHILE
  2. Menggunakan Repeat – Until
DO WHILE
Format DO WHILE adalah sbb :
    DO WHILE kondisi k bernilai true
        statement_1
        statement_2
        ……………
        statement_n
    END DO

        Ada 3 proses yang dilakukan dalam DO WHILE, yaitu:
Kondisi k selalu dicek
Bila k bernilai true maka statement_1 s.d statement_n dikerjakan kemudian dicek lagi kondisi k
Bila kondisi k bernilai false maka statement_1 s.d statement_n tidak dikerjakan. Alur logika menuju ke END DO dan terus ke statement berikutnya

Contoh
Mengkonversikan derajat Celcius ke Reamur dan Fahrenheit. Yang dibaca adalah derajat Celcius. Data dibaca sebanyak 15 kali.

    X = 0
        DOWHILE X<15
            X=X+1
            Baca Celcius
            Reamur = 4/5 * Celcius
            Fahrenheit =9/5*Celcius + 32
            Cetak celcius, reamur, fahrenheit
    ENDDO

Contoh – Jawaban
Desk Checking
Data Masukan


Repeat – Until

Format Repeat – Until adalah sbb:
    REPEAT
        statement_1
        statement_2
        …….
        statement_n
    UNTIL kondisi k true
Repeat – Until
    Ada tiga proses dilakukan dalam
REPEAT – UNTIL:
Melakukan statement_1 s.d statement_n
Cek kondisi k
Bila kondisi k bernilai false maka diulangi mengerjakan statement_1 s.d statement_n lagi. Bila kondisi k bernilai true maka tidak terjadi pengulangan lagi dan akan dilanjutkan dengan statement berikutnya

Contoh
X=0
REPEAT
    X=X+1
    baca celcius
    reamur = 4/5*celcius
    fahrenheit=9/5*celcius + 32
    cetak celcius, reamur, fahrenheit
UNTIL x=15


Latihan
Buat contoh penggunaan DO WHILE dan REPEAT UNTIL pada aplikasi yang dibangun untuk SISTEM INFORMASI PENYEWAAN DVD. 

Senin, 07 Maret 2011

Selection

Selection
Struktur Kontrol Selection / Pemilihan
     Ada beberapa variasi dari struktur kontrol selection yaitu:

  • Simple Selection (simple IF Statement)
  • Simple Selection tanpa cabang
  • Combined Selection
  • Nested Selection
  • Linear Nested IF Statement
  • Non-Linear IF Statement

1. Simple Selection
Simple selection terjadi jika harus memilih diantara dua alternatif yang ada, tergantung dari hasil kondisi apakah True atau false.
Keyword yang digunakan adalah : IF, THEN, ELSE, dan END IF

Contoh
IF saldo < $300 THEN
    bunga = 0.05
ELSE
    bunga = 0.1
ENDIF

2. Simple Selection Tanpa Cabang
Simple selection ini terjadi jika sebuah statement hanya bisa dikerjakan bila kondisinya adalah TRUE
Contoh:
IF Saldo > $300 THEN
    bunga = saldo * 0.1
ENDIF
           
3. Combined Selection
        Combined Selection terjadi jika kondisi yang harus diperiksa lebih dari satu. Kondisi tersebut dapat dihubungkan dengan menggunakan AND atau OR.

Contoh:
IF saldo > 300 AND kode = 1 THEN
    bunga = saldo * 0.1
ELSE
    bunga = saldo * 0.05
ENDIF
Statement bunga = saldo *0.1, akan bisa dikerjakan jika kedua kondisi yaitu saldo > 300 dan Kode = 1 bernilai TRUE. Hal ini dikarenakan penghubung yang digunakan adalah AND 

3. Nested Selection 
Tabel kebenaran
Nested selection terjadi, jika di dalam IF terdapat statement IF yang lain.
Ada dua jenis nested selection
Linear Nested IF statement
Non-Linear Nested IF statement
Linear Nested IF Statement
Linear Nested terjadi jika satu kondisi di cek untuk beberapa nilai.
Contoh:
        IF record_code=‘A’ THEN
             increment counter_A
        ELSE
             IF record_code=‘B’ THEN
                     increment counter_B
            ELSE
                     IF record_code=‘C’ THEN
                             increment counter _C
                     ELSE
                             increment error_counter
                    ENDIF
                ENDIF
       ENDIF

Non-Linear Nested IF
Non-Linear Nested IF Statement terjadi jika beberapa kondisi harus diperiksa sebelum suatu statement dikerjakan.
Contoh
IF student_attendance=part_time THEN
        IF student_gender=female THEN
            IF student_age >21 THEN
            add 1 to mature_fem_pt_students
            ELSE
            add 1 to young_fem_pt_students
            ENDIF
         ELSE
            add 1 to male_pt_students
         ENDIF
ELSE
       add 1 to full_time_students
ENDIF




Tugas : buat contoh lain selain contoh di atas untuk :
  • Simple Selection (simple IF Statement)
  • Simple Selection tanpa cabang
  • Combined Selection
  • Nested Selection
  • Linear Nested IF Statement
  • Non-Linear IF Statement