Pages

Subscribe:

Ads 468x60px

Featured Posts

Sabtu, 24 September 2011

Analisa Struktur Program dan Lanjutan

I. Flowchart
adalah metode untuk menggambarkan tahap-tahap pemecahan masalah dengan menggambarkan simbol-simbol tertentu yang mudah dimengerti, mudah digunakan dan standar.
Dalam penulisan flowchart dikenal 2 (dua) metode yaitu :
a.Sistem Flowchart
b.Program Flowchart
A. Sistem Flowchart

Adalah diagram alir yang menggambarkan suatu sistem peralatan komputer yang digunakan dalam proses pengolahan data serta hubungan antar peralatan tersebut.
 


B. Program Flowchart  
Adalah diagram alir yang menggambarkan urutan logika dari suatu prosedur pemecahan masalah. Dibawah ini adalah gambar simbol program flowchart :
 
Flowchart terdiri dari tiga struktur : 
1. Stuktur squence / Struktur sederhana

 
2. Struktur Branching (Percabangan)
3. Stuktur Looping (Perulangan)
II. Pseudocode
Pseudocode berasal dari kata pseudo yang berarti mirip atau menyerupai dan code  yang berarti program.
Pseudocode adalah teknik tulisan untuk menggambarkan algoritma menggunakan kode yang mirip dengan kode pemrograman yang sebenarnya.
Contoh :
01.  Masukkan bilangan pertama
02.  Masukkan bilangan kedua
03.  Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4,
       jika tidak, kerjakan langkah 5.
04.  Tampilkan bilangan pertama
05.  Tampilkan bilangan kedua

LANJUTAN 
I. Struktur Program  
A. Struktur Berurutan (Sequence Structure)
Struktur Berurutan adalah struktur program yang paling sederhana. Setiap baris program akan dikerjakan secara urut dari atas ke bawah maka hanya ada satu cara memulainya yaitu dari bagian atas, dan cara untuk keluarnya yaitu dari bagian bawah.
/* Contoh Program struktur berurutan menghitung luas empat persegi panjang */
main()
{
  int panjang,lebar,luas;
  clrscr();
  cout<<“Masukan Panjangnya : “;
  cin>>panjang;
  cout<<“Masukan Lebarnya : “;
  cin>>lebar;
  luas =  panjang  *  lebar;
  cout<<“Luas persegi   panjang=“<<luas<<endl;
  getch();
}
Masukan :
panjang = 5
lebar    = 6
luas persegi = 30 

     B. Struktur Seleksi(Selection Structure)
         Struktur seleksi untuk melakukan proses pengujian pada kondisi dalam mengambil suatu    keputusan. Kondisi adalah suatu syarat yang mempunyai nilai True dan False.
  
       Struktur Seleksi dalam bahasa pemrograma C++ : 
        a. IF . . .
        b. IF . . . ELSE 
        c. NESTED IF
        d. SWITCH . . .CASE  
Contoh bentuknya adalah sebagai berikut :
  {
  If  syarat  Then
  Perintah 1;
  Else
  Perintah 2;
  ...................
   }
Ada beberapa macam struktur instruksi IF atau Sruktur Seleksi yaitu :
1.Struktur seleksi dengan IF (Tunggal)
  Statement If berguna untuk memilih satu dari dua kemungkinan yang ada, terjadi apabila kita dihadapkan pada suatu kondisi dengan dua pilihan BENAR/ SALAH
  Bentuk Umum
  If (kondisi)
  pernyataan;
Contoh Program:
main()
{
     float total, diskon=0, jum_byr=0;
     clrscr();
     cout<<“Total pembelian:”;cin>>total;
     if (total>=50000)
  diskon=0.2*total;
  cout<<“Anda dapat diskon Rp. “<<diskon<<endl;
  jum_byr=total-diskon;
     cout<<“Jumlah yang dibayarkan=Rp. “<<jum_byr;
     getch();
}
2. Statement/Perintah  IF…ELSE
      Pengertian If ini mempunyai pengertian “jika kondisi      benar, maka perintah 1 dikerjakan dan jika tidak   memenuhi syarat, maka akan mengerjakan perintah 2.
   
  Bentuk Umumnya
  If (kondisi)
  pernyataan-1;
  else
  pernyataan-2;

Contoh Program:
main()
{
     float total, diskon=0, jum_byr=0;
     clrscr();
     cout<<“Total pembelian:”;cin>>total;
     if (total>=50000)
  diskon=0.2*total;
     else
  diskon=0.05*total;
     cout<<“Anda dapat diskon Rp. “<<diskon<<endl;
     jum_byr=total-diskon;
     cout<<“Jumlah yang dibayarkan=Rp. “<<jum_byr;
     getch();
}

 3. Statement/Perintah  Nested IF
    Pernyataan If yang berada dalam pernyataan If yang lain
    
     Bentuk umumnya : 
     if (syarat)
          if (syarat)
  perintah;
          else
  perintah;
  else
          if (syarat)
  perintah;
          else
  perintah;
If (pendapatan>=0 && pendapatan<=200000
{
     jasa=10000; komisi=0.1*pendapatan;
}
else
{
    if (pendapatan<=500000)
    {
        jasa=20000; komisi=0.15*pendapatan;
    }
    else
    {
        jasa=30000; komisi=0.2*pendapatan;
    }
}
  Selain menggunakan instruksi IF, Struktur Seleksi juga dapat menggunakan instruksi SWITCH CASE (Seleksi Ganda).
Bentuk umum dari SWITCH CASE
switch (ekspresi integer atau karakter)
{
  case konstanta-1:
       perintah; perintah;
  break;
  case konstanta-2:
       perintah; perintah;
  break;
  …………
  default :
       perintah; perintah;
}

main()
{
     char kode;clrscr();
     cout<<“Masukan kode barang [A..C] :”;cin>>kode;
     switch (kode)
     {
         case ‘A’ :
  cout<<“Alat Olahraga”;break;
         case ‘B’ :
  cout<<“Alat Elektronik”;break;
         case ‘C’ :
  cout<<“Alat Memasak”;break;
         default :
  cout<<“Anda salah memasukan kode”;break;
      } getch();
}
C. Struktur Perulangan ( Looping Structure )
  Struktur perulangan akan melakukan proses berulang ulang selama selama Kondisi bernilai True atau selama kondisi perulangan terpenuhi.
  Dan Kondisi akan berhenti jika hanya keadaan berubah menjadi false atau kondisi perulangan tidak terpenuhi.
Struktur Perulangan terdiri dari :
Pernyataan WHILE 
1. While  
Perulangan digunakan unutk melaksanakan blok statement selama kondisinya benar. Dalam perulangan ini kondisi diuji terlebih dahulu. Bentuk umum :
  while (syarat)
  pernyataan;
Bentuk umum while dengan lebih dari satu pernyataan
  while (syarat)
  {
  pernyataan1;
  pernyataan2;
  } 

2. STATEMENT FOR
 
Bentuk umum for
  for (inisialisasi; kondisi; pencacah)
Atau dengan pernyataan lebih dari satu; 
  for (inisialisasi; kondisi; pencacah)
  {
     pernyataan-1;
     pernyataan-2;
     pernyataan-3;
  }
Inisialisasi  : pemberian nilai awal variabel
Kondisi  : kendali terhadap perulangan
Pencacah  : mengatur kenaikan atau penurunan nilai pencacah
Contoh : 
for (a=1; a<=10; ++a) // Untuk perulangan positif (menaik)
for (a=10; a>=1; - -a) // Untuk perulangan negatif (menurun)
for (a=1; a<=10; a+=2) // Hasilnya ? 
Biasanya didalam pembuatan program, perulangan tidak hanya satu kali saja. Bahkan didalam sebuah perulangan terdapat perulangan yang lain. Perulangan yang terdapat dalam perulangan yang lain disebut perulangan tersarang atau Nested Loop. Contoh program matriks, konversi suhu, penjualan dengan array.
II. Compiller Dan Interpreter
  Source program yang telah ditulis dengan bahasa pemrograman tingkat tinggi, tidak dimengerti oleh komputer karena komputer hanya mengerti bahasa mesin. Oleh sebab itu source program harus di terjemahkan ke dalam bahasa mesin terlebih dahulu sebelum dijalankan.
Terdapat 2(dua) jenis penterjemah yaitu :
1. Compiller
Compiller merupakan penerjemah bahasa pemrograman yang menterjemahkan instruksi-instruksi dalam satu kesatuan modul ke dalam bahasa mesin sehingga dihasilkan suatu file  executable.
- Menterjemahkan secara keseluruhan sekaligus
- Source program harus ditulis dengan lengkap
- Bila terjadi kesalahan kompilasi, source program harus dibenarkan dan proses kompilasi diulang kembali
- Dihasilkan obyek program
- Dihasilkan executable program, sehingga dapat dijalankan di keadaan prompt sistem
- Proses kompilasi lama, karena sekaligus menterjemahkan seluruh instruksi program
- Source program sudah tidak dipergunakan lagi untuk mengerjakan program
- Proses pengerjaan program lebih cepat, karena executable program sudah dalam bahasa mesin
- Keamanan dari program lebih terjamin, karena yang dipergunakan executable program.
 
2. Interpreter
Interpreter merupakan penerjemah bahasa pemrograman yang menterjemahkan instruksi demi instruksi pada saat eksekusi program
- Menterjemahkan instruksi per instruksi
- Source program tidak harus ditulis dengan lengkap
- Bila terjadi kesalahan kompilasi, dapat langsung dibetulkan secara interaktif.
- Tidak menghasilkan obyek program
- Tidak menghasilkan executable program karena langsung dijalankan pada saat program diinterpretasi.
- proses interpretasi terasa cepat, karena tiap-tiap instruksi langsung dikerjakan dan dapat dilihat hasilnya
- Source program terus dipergunakan karena tidak dihasilkan executable program.
- Proses pengerjaan program lebih lambat, karena setiap instruksi dikerjakan harus diinterpretasikan ulang kembali.
- Keamanan dari program kurang terjamin, karena yang selalu digunakan source program.

III. Debugging Dan Bentuk Kesalahan program

Debugging adalah penghilangan semua kesalahan yang ditemukan pada saat pengujian. Kesalahan terjadi karena kecerobohan desain logika dan pengkodean.
Adapun macam-macam bentuk kesalahan program yaitu:
· SYNTAX ERROR
    bentuk kesalahan program yang disebabkan karena kesalahan didalam hal penulisan instruksi didalam program.   
    Contoh.
  - Writ  ( dalam bahasa PASCAL )
  - Use ( dalam bahasa PASCAL )
dan lain-lain
RUN TIME ERROR
    Bentuk kesalahan program yang disebabkan karena adanya proses arithmathic yang ILLEGAL / tidak bisa diproses.
    Contoh.
  - B = ( 0 / 3 )
  - Akar Minus
  - dan lain-lain
   LOGIC ERROR
   Bentuk kesalahan program yang disebabkan karena HUMAN-ERROR-LOGIC (kesalahan logika program yang dibuat oleh programmer)
   Contoh.
  - Hasil / output program yang tidak sesuai
  - Kesalahan program yang tidak dapat dideteksi
  - dan lain-lain

    Oleh : Vardhana Yogi

Elemen-Elemen Bahasa Pemrograman

Elemen Dasar dalam Pemrograman
Tipe data Majemuk
Tipe data Terstruktur
I. Elemen-elemen dalam Bahasa Pemrograman
Berikut merupakan elemen-elemen bahasa pemrograman :
1.Aturan Leksikal  
yaitu aturan yang digunakan dalam membentuk suatu deklarasi, definisi, maupun statement hingga menjadi satu program yang utuh.  
1. Token  
Yaitu element terkecil pada bahasa pemrograman yang memiliki arti penting bagi compiler. Yang termasuk token antara lain: identifier, keywords(reserved words), operator, dan sebagainya.
2. Komentar
yaitu teks (kumpulan karakter) yang diabaikan oleh Compiler. Komentar sangat berguna untuk memberi catatan mengenai bagian program tertentu sebagai referensi baik bagi programmer itu sendiri maupun orang lain
Contoh bahasa C :
/* Program mencetak hello world
Oleh: Saya */
void main() {
// Cetak hello World
// Oleh Saya
printf(“Hello World”);
}

3. Identifier
merupakan kumpulan karakter yang digunakan sebagai penanda untuk nama variable, nama tipe data, fungsi, prosedur, dan sebagainya.
4. Keywords (Reserved Words) 
atau Reserved words merupakan kata-kata yang telah ada/didefinisikan oleh bahasa pemrograman yang bersangkutan. Kata-kata tersebut telah memiliki definisi yang sudah tetap dan tidak dapat diubah

5. Operator  
Operator digunakan untuk menyatakan suatu perhitungan/ operasi

a. Arithmetic Operator 
b. Assignment Operator 
c. Bitwise dan Logical Operator
d. Relational Operator
e. Pointer Operator
Operator-operator pada bahasa C :
a.Arithmatic Operator, meliputi operator yang digunakan untuk melakukan perhitungan matematis (pow, *, /, +, -, mod (%))
b.Assignment Operator, merupakan operator penugasan yang ditandai dengan ‘=‘, ‘+=‘, ‘-=‘. Contoh : C=4 dan C+=3
c.Bitwise dan Logical Operator, digunakan untuk operasi bit dan logika.
  – Negasi (NOT). Contoh : A=!B
  – AND (kedua kondisi bernilai benar). Ditandai dengan simbol ‘&&’
  – OR   (jika salah satu kondisi bernilai benar). Ditandai degan simbol ‘||’
d.Relational Operator (Perbandingan). Meliputi ‘==‘,’<=‘,’>=‘,’<>’
e.Pointer Operator (Penunjuk). Disimbolkan dengan ‘*’


2.Type Data
Pada suatu bahasa pemrograman umumnya telah menyediakan tipe-tipe data yang sederhana (simple) maupun yang Kompleks
I. Tipe Data Sederhana
a.Tipe integer : tipe data yang nilainya tidak memiliki titik desimal. 
b.Tipe Real/float : tipe data yang nilainya merupakan pecahan (memiliki titik desimal).
c.BOOLEAN ATAU LOGICAL 
Type data yang hanya mempunyai dua bentuk keluaran yaitu nilai True dan False (Benar 
dan Salah) yang dinyatakan dengan  1 dan 0, Sehingga satuan data yang terpakai cukup satu 
bit saja. Operator yang digunakan adalah : And, Or, Not, Xor
d.CHARACTER
Type data yang terdiri dari aksara (simbol) yang meliputi digit numerik, character 
alfabetik dan spesial character. Untuk menuliskan tipe char, karakter perlu ditulis di dalam 
tanda petik tunggal ( ‘ )
Contoh :
  ‘A’   à karakter berupa huruf A
  ‘1’   à karakter berupa angka 1
  ‘*’   à karakter simbol *
II.  Tipe data Majemuk
a. String
merupakan sekumpulan dari beberapa karakter, yang banyaknya  berubah-ubah sesuai 
kebutuhan,besarnya 1 s/d 255 karakter.
Pemberian nilai String diapit dengan tanda petik ganda (“)
Bentuk umum penulisan tipe data ini adalah :
tipe_data   pengenal [panjang] ;    
pengenal     = nama variabel
panjang      = bilangan bulat yg menunjukan       jumlah karakter
Contoh :   char nama[15] ;
III. Tipe Data Terstruktur
Yang dimaksud dengan tipe data terstruktur yaitu tipe data yang dapat menampung lebih dari satu nilai, sbb:
1. Array
Yang dimaksud array yaitu tipe data berindeks yang terdiri dari satu atau lebih elemen/komponen yang memiliki tipe data yang sama.
2. Record (Pascal) atau struct (Bahasa C)
Tipe data ini digunakan untuk merepresentasikan kumpulan (set) elemen/komponen yang memiliki satu jenis atau lebih tipe data. Tiap element disebut juga field atau property atau attribute.
3.Expression
Expression yang paling sederhana yaitu nama variable. Expression yang lebih kompleks akan melibatkan operator-operator, maupun pemanggilan function atau procedure.
4.Statement  
1. Simple Statement 
a. Assignment Statement
b. Statement untuk pemanggilan function atau     procedure
c. Jump Statement 
5.Function dan Procedure 
Procedure dan Function disebut juga subroutine, merupakan   blok statement yang dapat dipanggil dari lokasi yang berbeda   di dalam program. Yang membedakan antara function dan   procedure yaitu:
  suatu function jika dijalankan/dipanggil akan mengembalikan   suatu nilai. 

Ketika procedure atau function dipanggil, kita dapat melewatkan suatu nilai ke dalam function atau procedure tersebut. Nilai yang dilewatkan disebut juga argument atau parameter. Ada dua cara melewatkan nilai, yaitu:
1. Passing by Value (Dilewatkan secara nilai)
Melewatkan Parameter Berdasarkan Nilai (pass by value)
#include <iostream>
using namespace std;
// membuat fungsi dengan melewatkan nilai X didalamnya
void Kali2 (int X) {
  X=X*2;
  cout<<“ Nilai didalam fungsi : “<<X<<endl;
}
// Fungsi utama
int main ( ) {
  int Bilangan;
  cout<<“ Masukkan sebuah bilangan bulat : “;
  cin>>Bilangan;
  cout<<“ Nilai awal : “<<Bilangan<<endl;
// memanggil fungsi Kali2
Kali2(Bilangan);
cout<<“ Nilai Akhir : “<<Bilangan<<endl;
return 0;
}
Hasil dari program tersebut:
Memasukkan bilangan bulat : 10
Nilai awal  : 10
Nilai didalam fungsi  : 20
Nilai akhir               : 10

2. Passing by Reference 
Contoh Program pelewatan parameter berdasarkan alamat (pass by reference)
#include <iostream>
use namespace std;
// mendefinisikan fungsi yang melewatkan parameternya berdasarkan alamat
void Kali2(int&  X){
X=X*2;
cout<<“ Nilai di dlm fungsi : “<<X<<endl;
}
int main( ) {
   int  Bilangan;
   cout<<” Masukkan sebuah bilangan bulat : “; cin>>Bilangan;
   cout<<endl;
// Menampilkan nilai awal
   cout<<“Nilai awal : “<<Bilangan<<endl;
Kali2  (Bilangan);
// Menampilkan nilai akhir
  cout<< “Nilai akhir : “<<Bilangan <<endl;
return 0;
}
Masukkan sebuah bilangan bulat : 10
Nilai awal : 10
Nilai di dalam fungsi : 20
Nilai akhir : 20

Oleh : Indra Kurniawan