SpongeBob SquarePants

Rabu, 28 Desember 2016

Perbedaan Algoritma dan Program

Algoritma adalah urutan langkah-langkah terbatas yang disusun secara sistematis dan menggunakan bahasa yang logis dengan tujuan menyelesaikan suatu masalah tertentu. Sementara program adalah kumpulan instruksi berupa pernyataan yang ditulis dengan menggunakan bahasa pemrograman yang melibatkan pemilihan struktur data.

Beberapa pakar komputer menyatakan program dengan formula Program = Algoritma + Bahasa Pemrograman. Bahasa pemrograman dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya.


Jika dihubungkan dengan program, maka pembuatan algoritma harus memperhatikan kaidah: 
1. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang memprosesnya. 
2. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman. 
3. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama. Algoritma dibuat untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus diterjemahkan ke dalam notasi bahasa pemrograman.

Ada beberapa hal yang harus diperhatikan pada penerjemahan tersebut, yaitu: 
1. Pendeklarasian variabel Variabel dibutuhkan oleh program dalam rangka menyimpan data masukan, memproses dan mendapatkan hasil komputasi. 
2. Pemilihan tipe data Apabila dalam proses pembuatan program ternyata membutuhkan pendeklarasian variabel maka diwajibkam memilih tipe data, karena setiap variabel pasti membutuhkan tipe data ketika dideklarasikan.  
3. Pemakaian atau pemilihan instruksi. Terdapat beberapa macam instruksi dalam bahasa pemrograman (sequence, selection dan repetition), urutan langkah dalam algoritma dapat diterjemahkan menjadi salah satu atau beberapa instruksi tersebut. 
4. Aturan sintaksis.  Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan. Setiap bahasa pemrograman memiliki aturan penulisan sintaks-nya sendiri. 
5. Tampilan hasil Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Halteknis semacam ini diperhatikan ketika mengkonversikannya menjadi program. 
6. Cara pengoperasian compiler atau interpreter. Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter. Masing-masing memiliki cara pengoperasian yang bisa jadi berbeda. Komputer adalah mesin pemroses. Agar dapat dikerjakan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman berupa instruksi yang dapat dipahami oleh komputer sehingga dinamakan program. 

Jadi Program adalah perwujudan atau implementasi teknis algoritma yang ditulis dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh komputer. Program ditulis dengan menggunakan salah satu bahasa pemrograman. Kegiatan membuat program disebut pemrograman (Programming). Orang yang menulis program disebut pemrogram (Programmer). Tiap-tiap langkah didalam program disebut pernyataan atau instruksi. Jadi, program tersusun atas sederetan instruksi. Bila suatu instruksi dilaksanakan, maka operasi-operasi yang bersesuaian dengan instruksi tersebut dikerjakan komputer.



sumber :
 

Pedoman Membuat Flowchart

Bila seorang analis dan programmer akan membuat flowchart, ada beberapa petunjuk yang harus diperhatikan, seperti: 

1.     Flowchart digambarkan dari halaman atas ke bawah dan dari kiri kekanan.
2.   Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat dimengerti oleh pembacanya. 
3.     Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas. 
4.     Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja 
5.     Setiap langkah dari aktivitas harus berada pada urutan yang benar. 
6.    Lingkup dan range dari aktifitas yang sedang digambarkan harusditelusuri dengan hati-hati. Percabangan-percabangan yang memotong aktivitas yang sedang digambarkan tidak perlu digambarkan pada flowchart yang sama. Simbol konektor harus digunakan dan percabangannya diletakan pada halaman yang terpisah atau hilangkan seluruhnya bila percabangannya tidak berkaitan dengan sistem. 
7.     Gunakan simbol-simbol flowchart yang standar. 


sumber :



Contoh soal Algoritma

SOAL :

1. Tulis program untuk menentukan lama bekerja seorang pegawai, jika jammasuk dan jam pulang diinput. Catatan: jam berupa angka 1-12, danseorang pegawai bekerja kurang dari 12 jam.

JAWAB : 

ALGORITMA

Algoritma Lama_Bekerja 
{jam berupa angka 1-12, dan seorang pegawai bekerja kurangdari 12 jam}
KAMUS DATA
              iMasuk, iKeluar, iLama: Integer 
BEGIN
       Input(iMasuk) 
       Input(iKeluar)  
              If (iKeluar >= iMasuk) Then
                           iLama <-- iKeluar - iMasuk
              Else
              iLama <-- (12-iMasuk) + iKeluar
        end if  
      Output(iLama)
END
PROGRAM
#include <stdio.h>
 #include <stdlib.h> 
/*Tulis procgram untuk menentukan lama bekerja seorangpegawai, jika jam masuk dan jam pulang diinput.Catatan: jam berupa angka 1-12, dan seorang pegawai bekerjakurang dari 12 jam.asumsi jam yang dimasukkan adalah tepat (tidak memasukkanmenit)*/ 
int main()
{ int iMasuk, iKeluar, iLama; 
   
printf("Menentukan lama bekerja\n\n"); 
printf(" Jam Masuk : "); 
scanf("%d",&iMasuk); 
printf(" \nJam Keluar : "); 
scanf("%d",&iKeluar);
if (iKeluar >= iMasuk)
         iLama = iKeluar - iMasuk; 
    elseiLama = (12-iMasuk) + iKeluar;
       printf("\n\n Lama bekerja adalah : %d Jam\n", iLama); 
    system("PAUSE");
    return 0;
 }



2. Tulis program untuk menentukan biaya parkir yang dihitung berdasarkanlama parkir. Lama parkir dihitung dari selisih jam masuk dan jam keluardiinput. Biaya parkir 2 jam pertama 2000, perjam berikutnya 500. 

JAWAB :

ALGORITMA

Algoritma  Biaya_Parkir
 {menghitung biaya parkir} 
KAMUS DATA
                   iMasuk, iKeluar, iLama, iBiaya: Integer
BEGIN 
         Input(iMasuk) 
         Input(iKeluar)
         If (iKeluar >= iMasuk) Then
                 iLama <= iKeluar - iMasuk 
        Else
        iLama<= (12-iMasuk) + iKeluar 
          End If 
          If (iLama > 2) Then
               iBiaya<= 2000 + ((iLama - 2)*500) 
       else 
       iBiaya<= 2000 Output(iBiaya)
END

PROGRAM
#include <stdio.h>
 #include <stdlib.h>
 int main()
 { int iMasuk, iKeluar, iLama;
     long int iBiaya; 
            printf("Menghitung Biaya Parkir\n\n");
               printf(" Jam Masuk : ");
 scanf("%d",&iMasuk); 
printf(" \nJam Keluar : "); 
scanf("%d",&iKeluar);  
if (iKeluar >= iMasuk) 
iLama = iKeluar - iMasuk; 
else 
iLama = (12-iMasuk) + iKeluar;
if (iLama > 2) 
iBiaya = 2000 + ((iLama - 2)*500);
else
iBiaya = 2000; 
printf("\n\n Biaya parkir adalah : Rp %d \n", iBiaya); 
system("PAUSE");
return 0;
}