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

Senin, 28 Februari 2011

Algoritma

 Algoritma


Algoritma merupakan langkah-langkah logis secara urut untuk menyelesaikan masalah
Algoritma digunakan untuk membantu seseorang dalam menyelesaikan suatu masalah berdasarkan pola pikir masing-masing
Ciri-ciri algoritma  :
–Ada input
–Ada output
–Ada proses
–Memiliki instruksi-instruksi yang jelas dan tidak ambigu
–Harus mempunyai stopping role

Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman
Tidak tergantung pada bahasa pemrograman
Notasi-notasinya dapat digunakan untuk seluruh bahasa manapun

1.Algoritma untuk memasak mie :
–Rebus air hingga mendidih
–Masukkan mie instan ke dalam rebusan air
–Tunggu beberapa saat hingga mie telah matang
–Angkat mienya
–Tiriskan
–Campurkan bumbu-bumbunya
–Aduk hingga bumbu dan mie merata
•
2. Algoritma untuk menghitung luas persegi panjang
–Masukkan panjang
–Masukkan lebar
–Hitung hasil perkalian panjang dengan lebar
–Tampilkan luas

Pseudo-code merupakan kode atau tanda yang menyerupai (pseudo) cara menyelesaikan suatu masalah dan  umumnya digunakan untuk menuliskan algoritma. Pseudo-code hampir menyerupai dengan bahasa pemrograman. Pseudo-code biasanya menggunakan bahasa yang mudah dipahami secara universal dan lebih ringkas dibandingkan dengan algoritma.
 
Pertanyaan:
Buat Algoritma untuk 
1. Aktifitas dari anda berangkat dari rumah hingga sampai di rumah untuk kegaitan sehari-hari anda.
2.Aktiftas dari mulai kuliah hingga anda mendapatkan nilai

Selasa, 22 Februari 2011

Pendekatan Top Down

Pemrograman terstruktur mempergunakan Pendekatan Top-Down dalam perencanaan program
Merupakan pendekatan yang menggambarkan pemecahan modul kompleks/besar menjadi modul-modul yang lebih sederhana/kecil Berbentuk Struktur Hirarki

    Di dalam pemrograman terstruktur, terdapat 3 bentuk struktur perintah yang dipergunakan :
Sequence Structure
Loop Structure
Selection Structure

Struktur perintah yang instruksinya dieksekusi berdasarkan urutannya. Dimulai dari bagian atas dan diakhiri di bagian bawahnya
Digambarkan dengan bujur sangkar, sebagai simbol untuk :
Input dan Output
Operasi aritmatika
Operasi pemindahan data dalam memori komputer
Menggambarkan perulangan eksekusi dari satu atau lebih instruksi
Menggambarkan struktur yang mengeksekusi suatu instruksi hanya apabila kondisinya terpenuhi.

Algoritma merupakan sekumpulan langkah-langkah untuk menyelesaikan suatu tugas
Penamaan “Algoritma” diambil dari seorang ahli matematika bernama Al-Khwarizmi
Sebuah algoritma harus:
Jelas, tepat dan tidak membingungkan
Memberikan penyelesaian yang tepat
Mempunyai akhir


Tujuh langkah dasar dalam pengembangan program :
  • Definisi Masalah
  • Outline Solusi
  • Pengembangan outline ke dalam algoritma
  • Melakukan test terhadap algoritma
  • Memindahkan algoritma ke dalam bahasa pemrograman
  • Menjalankan program pada komputer
  • Dokumentasi dan pemeliharaan program
Pada tahap ini memerlukan pemahaman terhadap permasalahan dengan membaca berulang kali sampai dengan mengerti apa yang dibutuhkan.

Permasalahan dibagi kedalam tiga komponen: Input / Masukan
Output / Keluaran
Proses

        Setelah permasalahan didefinisikan, permasalahan dapat di bagi kedalam tugas tugas atau langkah langkah yang lebih kecil dan menghasilkan outline solusi

    Outline solusi pada langkah kedua dikembangakan menjadi algoritma yaitu sebuah set langkah yang menggambarkan tugas yang akan dikerjakan dan urutan pengerjaannya.

Tujuan utama dari melakukan test terhadap algoritma adalah adalah untuk menemukan kesalahan utama logika sejak awal, sehingga akan lebih mudah diperbaiki.
Data test diperlukan untuk melakukan test terhadap algoritma ini.

        Setelah ke-empat langkah sebelumnya dilakukan, maka pencodingan dapat dimulai dengan menggunakan bahasa pemrograman yang dipilih.

Setelah pengcodingan, maka program dapat dijalankan pada komputer. Jika Program sudah didesain dengan baik, maka akan mengurangi tingkat kesalahan dalam melakukan testing program.
Langkah ini perlu dilakukan beberapa kali, sehingga program yang dijalankan dapat berfungsi dengan benar

Dokumentasi melibatkan eksternal dokumentasi (hierarchy chart, algoritma solusi, dan hasil data test)  dan internal dokumentasi (coding program)
Pemeliharaan program meliputi perubahan yang dialami oleh program (perbaikan ataupun penambahan modul, dll)

Pertanyaan :

1. Jelaskan perbedaan antara pendekatan modular dengan pendekatan Top Down ?
2.Berikan contoh masalah yang berhubungan dengan input, proses dan output?

Jumat, 11 Februari 2011

Materi kuliah perdana

PENGANTAR PEMROGRAMAN TERSTRUKTUR
Pendahuluan
Pada era tahun 1950 –1960, kecepatan komputer sangat rendah dan disertai juga dengan
keterbatasan dari media penyimpan, sehingga tentunya berakibat juga dengan keterbatasan dalam
penulisan program-program komputer. Namun di era saat ini, dengan kecepatan komputer yang
cukup handal demikian juga ketersediaan dari media penyimpan yang cukup handal dan besar,
serta didukung juga dengan perkembangan bahasa pemrograman yang ada sehingga kita dapat
dengan mudah membuat suatu program. Permasalahan yang timbul dalam pembuatan program
tersebut adalah bagaimana kita dapat memahaminya, sehingga apabila terdapat perubahan yang
akan dilakukan kita dapat memperbaikinya secara mudah. Hal ini tentu saja harus kita perhatikan
terutama apabila kita melihat dari biaya yang harus dikeluarkan dalam pembuatan program
tersebut.
Istilah Pemrograman Terstruktur (Structured Programming) mengacu dari suatu
kumpulan tehnik yang dikemukan oleh Edsger Dijkstra. Dengan tehnik ini akan meningkatkan
produktifitas programmer
, dengan mengurangi waktu yang dibutuhkan dalam penulisan (write),pengujian (test), penelusuran kesalahan (debug) dan pemeliharan(maintain) suatu program.

Pada pembahasan berikut ini kita akan melihat bagaimana tehnik ini yang pendekatan yang dilakukan
secara modular, dapat membantu kita dalam membangun suatu program.


Pemrograman Secara Modular
Dalam pemrograman secara modular, suatu program akan dipilah kedalam sejumlah
modul, dimana setiap modul menjalankan fungsinya sendiri. Tentunya fungsi yang dijalankan
oleh setiap modul sangat terbatas sesuai dengan ruang lingkup yang akan dikerjakan. Dengan
adanya sejumlah modul program ini tentu saja kesalahan yang timbul dapat dikurangi.
Setiap program tentu akan memiliki program utamanya, yang kemudian akan memanggil
sejumlah modul-modul yang ada.


Implementasi dari pendekatan secara modular
Pemrograman secara modular ini dapat diimplementasikan dengan penggunaan
subroutine, suatu kelompok instruksi yang menjalankan suatu pengolahan yang sifatnya terbatas
seperti pencetakan, pembacaan untuk proses input atau untuk proses penghitungan.
Subroutine dapat dikelompokkan menjadi internal subroutine dan external subroutine, berikut ini
penjelasannya:


Internal Subroutines
Adalah bagian dari suatu program yang digunakan. Dideklarasikan cukup sekali saja, untuk
sejumlah proses yang sama akan dilakukan oleh program tersebut. Program akan memanggil
subroutines tersebut jika diperlukan dan apabila telah selesai, kontrol selanjutnya dikembalikan
ke instruksi berikutnya.
Instruksi yang mengendalikan kontrol transfer ke suatu subroutine umumnya dikenal sebagai call
dan return.


External Subroutines
Diletakkan secara terpisah dari program yang menggunakan subroutine tersebut. Subroutine ini
dideklarasikan supaya bisa dipakai oleh program yang lain. Untuk menggunakannya tentu
seorang programmer harus mengetahui dimana ? , apa namanya ?, bagaimana pengiriman datanya
?, bagaimana jawaban yang akan diperoleh ?. Subroutine ini biasanya digunakan untuk
pemrosesan yang komplek, yang dibutuhkan oleh banyak user.

PERTANYAAN
1. Berikan sebuah contoh dari Modular Internal Suboutine
2. Berikan sebuah contoh dari Modular Eksternal Subroutine