Category Archives: Metode Perancangan Program

“Cohesion & Coupling”


Notes : Penjelasan di bawah ini hanya sebagian garis besar tentang Cohesion & Coupling. Untuk penjelasan selengkapnya akan di-update mendatang 😀 

Cohesion / Kohesi : Keeratan hubungan elemen-elemen di dalam suatu modul

Cohesion Level : 

*Cohesion Attribute* 

Coincidental (Low Cohesion)

Logical

Temporal

Procedural

Communicational

Sequential

Functional (High Cohesion)

*Resultant Module Strength*

Coincidental (Weakest)

Logical

Temporal

Procedural

Communicational

Sequential

Functional (Strongest)

Coupling : Keeratan hubungan antar modul / tingkat saling kebergantungan di antara dua modul

Coupling Level : 

*Coupling Attribute*

Common (Tight Coupling / Worst)

External

Control

Stamp

Data (Loose Coupling / Best)

*Resultant Module Strength*

Common (Poorest)

External

Control

Stamp

Data (Best)

 

Advertisements

“Struktur Pemilihan / Selection”


Pada post ini, saya akan membahas 4 variasi dari struktur kontrol selection : 

1. Simple Selection (Simple IF Statement)

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 ENDIF.
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

Note : 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.
Jika memakai OR, maka hanya membutukan salah satu kondisi yang bernilai TRUE dan Statement “bunga = saldo * 0,1” bisa dikerjakan.

4. Nested Selection 

Nested selection terjadi jika di dalam IF terdapat statement IF yang lain. Ada dua jenis nested selection :

– Linear Nested IF statement : 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 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

“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 Modularisasi dapat disebut juga sebagai “Top-Down Design”.

– Keuntungan dari Modularisasi (Modular Design) : 

1. Ease of understanding : Mudah untuk dipahami karena prosesnya adalah membagi modul yang kompleks menjadi modul-modul kecil yang lebih mudah dipahami secara rinci.

2. Reusable code : Kode dapat digunakan kembali.

3. Elimination of redudancy : Menghapus jumlah berlebihan yang tidak dibutuhkan.

4. Efficiency of maintenance : Pemeliharaan / Perawatan menjadi lebih efisien.

– Berikut adalah 6 langkah dari Modularisasi :

1. Definisi Masalah

– (Klasifikasikan masalah ke dalam Input, Proses, dan Output)

2. Pengelompokkan Kegiatan dalam Modul

– (Definisikan kegiatan dari modul-modul yang ada secara garis besar)

3. Hierarchy Chart

– (Membuat bagan susun untuk menjelaskan hirarki dan hubungan antara modul / kegiatannya)

4. Logika Main Program

– (Buat logika dari Main Program dengan pseudocode, utamakan apa saja yang dikerjakan oleh program terlebih dahulu)

5. Merancang Pseudocode bagi Modul

– (Buat logika untuk tiap-tiap modul dengan pseudocode-nya)

6. Desk Checking Algoritma

– (Mengecek kebenaran algoritma dengan data yang tersedia, minimal 2 data untuk desk checking)

“7 Langkah Dasar dalam Pengembangan Program”


Berikut adalah 7 langkah dasar dalam pengembangan program :

1. Definisi Masalah (Input, Output, Proses)

2. Outline Solusi (Membagi jadi beberapa kelompok)

3. Pengembangan outline ke algoritma

4. Melakukan test terhadap algoritma (Menemukan kesalahan)

5. Memindahkan algoritma ke dalam bahasa pemrograman

6. Menjalankan program pada computer (Jika sudah siap)

7. Dokumentasi dan pemeliharaan program (Perbaikan berdasarkan solusi masalah sebelumnya)

%d bloggers like this: