Pendahuluan

Pengenalan Dasar Pemrograman

BAB I

PENDAHULUAN



1.1    Definisi Umum

-       Program : sederetan instruksi atau perintah (dalam bahasa yang di mengerti oleh komputer) untuk melaksanakan tugas-tugas tertentu, sehingga menghasilkan suatu keluaran / output yang diharapkan.
-       Algoritma : urutan langkah-langkah atau instruksi-instruksi yang harus dilaksanakan untuk memecahkan masalah.
-       Flowchart : (Diagram alur) adalah urutan instruksi-instruksi program yang digambarkan dalam bentuk suatu diagram.
-       Bahasa pemrograman : program yang berisikan instruksi-instruksi yang dimengerti oleh komputer.
Pemrograman adalah proses menulis, menguji dan memperbaiki (debug), dan memelihara kode yang membangun sebuah program komputer. Kode ini ditulis dalam berbagai bahasa pemrograman. Tujuan dari pemrograman adalah untuk memuat suatu program yang dapat melakukan suatu perhitungan atau 'pekerjaan' sesuai dengan keinginan si pemrogram. Untuk dapat melakukan pemrograman, diperlukan keterampilan dalam algoritma, logika, bahasa pemrograman, dan di banyak kasus, pengetahuan-pengetahuan lain seperti matematika.
Pemrograman adalah sebuah seni dalam menggunakan satu atau lebih algoritma yang saling berhubungan dengan menggunakan sebuah bahasa pemrograman tertentu sehingga menjadi sebuah program komputer. Bahasa pemrograman yang berbeda mendukung gaya pemrograman yang berbeda pula. Gaya pemrograman ini biasa disebut paradigma pemrograman. [wikipedia, 2009]
Pengertian Komputer. Kata komputer berasal dari bahasa Latin yaitu Computare yang artinya menghitung. Dalam bahasa Inggris disebut to compute. Secara definisi komputer diterjemahkan sebagai sekumpulan alat elektronik yang saling bekerja sama, dapat menerima data (input), mengolah data (proses) dan memberikan informasi (output) serta terkoordinasi dibawah kontrol program yang tersimpan di memorinya. Jadi cara kerja komputer dapat kita gambarkan sebagai berikut :

1.2    Bahasa Pemrograman


Bahasa pemrograman adalah teknik komunikasi standar untuk mengekspresikan instruksi kepada komputer. Layaknya bahasa manusia, setiap bahasa memiliki tata tulis dan aturan tertentu.
Bahasa pemrograman memfasilitasi seorang programmer untuk secara spesifik apa yang akan dilakukan oleh komputer selanjutnya, bagaimana data tersebut disimpan dan dikirim, dan apa yang akan dilakukan apabila terjadi kondisi yang variatif.
Bahasa pemrograman dapat diklasifikasikan menjadi tingkat rendah, menengah, dan tingkat tinggi. Pergeseran tingkat dari rendah menuju tinggi menunjukkan kedekatan terhadap ”bahasa manusia”.

Kategori Bahasa Pemrograman
1. Bahasa Pemrograman Tingkat Tinggi
Merupakan bahasa tingkat tinggi yang mempunyai ciri-ciri mudah dimengerti karena kedekatannya terhadap bahasa sehari – hari. Sebuah pernyataan program diterjemahkan kepada sebuah atau beberapa mesin dengan menggunakan compiler.
Sebagai contoh adalah : JAVA, C++, .NET
2. Bahasa Pemrograman Tingkat Rendah
Bahasa pemrograman generasi pertama. Bahasa jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin. Disebut juga dengan bahasa assembly merupakan bahasa dengan pemetaan satu – persatu terhadap instruksi komputer. Setiap intruksi assembly diterjemahkan dengan menggunakan assembler.
3. Bahasa Pemrograman Tingkat Menengah
Dimana penggunaan instruksi telah mendekati bahasa sehari – hari, walaupun masih cukup sulit untuk dimengerti karena menggunakan singkatan – singkatan seperti STO yang berarti simpan (STORE) dan MOV yang artinya pindah (MOVE). Yang tergolong dalam bahasa ini adalah Fortran.

1.3     Alur Pembuatan Program

Seorang programmer tidak melakukan pembuatan dan pengkodean program secara begitu saja, namun mengikuti perencanaan dan metodologi yang terstruktur yang memisahkan proses suatu aplikasi menjadi beberapa bagian.
Berikut ini langkah – langkah sistematis dasar dalam menyelesaikan permasalahan pemrograman :
        1. Mendefiniskan masalah
        2. Menganalisa dan membuat rumusan pemecahan masalah
        3. Desain Algoritma dan Representasi
        4. Pengkodean, Uji Coba dan pembuatan dokumentasi

Tahapan Pelaksanaan Pemrograman Komputer

Untuk memahami langkah dasar dalam pemecahan masalah dalam sebuah komputer mari kita mendefinisikan sebuah permasalahan yang akan diselesaikan langkah demi langkah sebagaimana metodologi pemecahan masalah yang akan dibahas selanjutnya. Masalah yang akan kita selesaikan akan didefinisikan pada bagian selanjutnya.

Setelah kita mengetahui apa yang dimaksud dengan algoritma dan bagaimana membuat sebuah algoritma, tahapan selanjutnya adalah bagaimana kita menerapkannya dalam bahasa pemrograman. Tetapi sebelum itu kita harus melihat secara keseluruhan tahapan dalam pemrograman komputer. Berikut ini adalah tahapan yang harus dilakukan dalam pembuatan program komputer:


1.    Mendefinisikan Masalah. Pendefinisian atau pemahaman masalah adalah tahapan pertama yang penting karena pada tahap ini kita menentukan masalahnya, kemudian apa saja yang dapat dipecahkan dengan program komputer dan selanjutnya kita menentukan juga masukan seperti apa yang diperlukan dan keluaran yang bagaimana yang diinginkan.
2.    Menentukan solusi. Pada tahap ini yang harus dilakukan adalah mencari jalan bagaimana masalah tersebut diselesaikan.
3.    Memilih algoritma. Pemilihan algoritma merupakan tahap yang cukup penting karena jika salah menentukan algoritma yang dipilih maka akan menyebabkan program menghasilkan unjuk kerja atau performa yang kurang optimal.
4.    Menulis program. Tahap penulisan program dalam sebuah bahasa pemrograman atau biasa disebut tahap coding. Pada tahap ini algoritma diterjemahkan ke dalam bahasa pemrograman tertentu, yang kemudian akan diproses oleh komputer. Untuk memahami proses yang terjadi pada tahap coding dapat dilihat dari gambar di bawah ini:












 




Keterangan:
Algoritma di translasikan menjadi program dalam bahasa tingkat tinggi. Selanjutnya, program dikompilasi dan diterjemahkan menjadi program dalam bahasa mesin dan di-link dengan berkas library. Instruksi dalam bahasa mesin diinterpretasikan oleh CPU. Operasi yang bersesuaian dengan setiap instruksi dilaksanakan.

5.    Menguji program. Setelah program selesai ditulis, dapat dilakukan pengujian untuk melihat apakah program yang sudah dibuat berhasil di kompilasi dengan baik, kemudian program diuji kembali untuk melihat apakah program menghasilkan keluaran yang diinginkan.
6.    Menulis dokumentasi. Tahap ini dapat dilakukan bersamaan dengan tahap penulisan program, contohnya memberikan komentar pada program untuk menjelaskan program tersebut. Tahap ini terkadang dianggap tidak penting dan seringkali diabaikan, sesungguhnya dokumentasi sangat penting terlebih untuk program yang cukup kompleks dimana pembuatan program dilakukan oleh lebih dari satu orang, dokumentasi dapat memberikan penjelasan tentang algoritma yang digunakan oleh si pembuat program.
7.    Merawat program. Tahap ini dapat dilakukan setelah program selesai dibuat dan telah digunakan.


1.4    Definisi Permasalahan


Seorang programmer umumnya mendapatkan tugas berdasarkan sebuah permasalahan. Sebelum sebuah program dapat terdesain dengan baik untuk menyelesaikan beberapa
permasalahan, masalah – masalah yang terjadi harus dapat diketahui dan terdefinisi dengan baik untuk mendapatkan detail persyaratan input dan output.
Sebuah pendefinisan yang jelas adalah sebagian dari penyelesaian masalah. Pemrograman komputer mempersyaratkan untuk mendefiniskan program terlebih dahulu sebelum membuat suatu penyelesaian masalah.
Mari kita definisikan sebuah contoh permasalahan :

”Buatlah sebuah program yang akan menampilkan berapa kali sebuah nama tampil pada sebuah daftar”

Analisa Permasalahan
Setelah sebuah permasalahan terdefinisi secara memadai, langkah paling ringkas dan efisien dalam penyelesaian harus dirumuskan.
Umumnya, langkah berikutnya meliputi memecahkan masalah tersebut menjadi beberapa bagian kecil dan ringkas.


Contoh masalah :
Menampilkan jumlah kemunculan sebuah nama pada daftar

Input Terhadap Program :
Daftar Nama, Nama yang akan dicari
Output Dari Program :
Jumlah kemunculan nama yang dicari

 

1.5    Algoritma

Algoritma adalah:
1.    Urutan logis langkah-langkah penyelesaian masalah [RIN05].
2.    Langkah-langkah yang dilakukan untuk menyelesaikan sebuah tugas dalam kurun waktu yang terbatas [GOO04].
3.    Pernyataan yang tidak bermakna ganda (unambigous), bisa dieksekusi dan eksekusinya mempunyai titik akhir, yang menerangkan cara untuk menyelesaikan sebuah masalah [DEI03].
Komputer bisa membantu kita untuk menyelesaikan sebuah masalah, jika dan hanya jika kita mempunyai algoritma untuk menyelesaikan masalah tersebut. Dengan menulis program komputer dengan bahasa pemrograman tertentu, kita menginstruksikan komputer untuk melaksanakan sebuah algoritma. Mengapa seorang anak berumur 8 tahun ketika disuruh membeli rokok ke warung tetangga bisa melaksanakannya, tetapi komputer PC tidak bisa melaksanakan hal yang sama? Salah satu alasannya adalah karena anak tersebut mengetahui algoritma yang harus dilakukan untuk membeli rokok, sedangkan komputer tidak mengetahui algoritma untuk memecahkan masalah tersebut.
Alasan lain mengapa komputer tidak bisa disuruh membeli rokok, berkaitan dengan cocok tidaknya sebuah komputer dipergunakan untuk memecahkan suatu masalah.  Sehubungan dengan hal ini, komputer dapat dianalogikan dengan anggota tubuh manusia. Masing-masing anggota tubuh manusia memiliki fungsi yang khas dan cocok baginya. Misalnya, tangan cocok jika dipergunakan untuk memegang sesuatu atau untuk menggaruk bagian tubuh yang gatal.  Kaki cocok dan efisien dalam memecahkan masalah yang berkaitan dengan berjalan. Bibir, lidah dan gigi sangat sesuai jika dipergunakan untuk berbicara. Bayangkan betapa tidak sesuai dan tidak efisiennya jika tangan dipergunakan untuk berjalan, kaki dipergunakan untuk memegang sesuatu dan gigi dipergunakan untuk menggaruk. Demikian pula, sebuah komputer PC sangat tepat jika dipergunakan untuk mengurutkan data yang jumlahnya ribuan atau jutaan, tetapi sangat tidak efisien (bahkan tidak mungkin bisa) jika diperintah untuk menggaruk kepala yang gatal atau membeli rokok ke warung tetangga.
Sebuah program komputer hanyalah sebuah "resep" yang akan dipergunakan oleh komputer untuk mengolah data yang dimasukkan (data masukan, input data) untuk menghasilkan data keluaran (output data). Hal ini mirip dengan resep yang dipergunakan untuk membuat kue. Data masukan bisa dianalogikan dengan bahan-bahan yang digunakan, termasuk panas yang diperoleh dari tungku pembakaran. Sementara program dapat dianalogikan sebagai instruksi di dalam resep untuk mencampur, mengaduk, menunggu, memanaskan, mendinginkan dan semua hal yang mungkin dilakukan terhadap keseluruhan bahan. Keluaran dari program komputer bisa dianalogikan dengan kue yang sudah siap disajikan. Dengan demikian, program komputer terdiri dari dua bagian yang tidak terpisahkan, yaitu data yang diolah oleh program dan program yang mengolah data [DOD88]. Konsep ini diilustrasikan dalam Gambar 1 di bawah ini.













GAMBAR 1 PERBANDINGAN PROGRAM DENGAN RESEP UNTUK MEMBUAT KUE
 



STRUKTUR DASAR ALGORITMA
            Untuk memecahkan berbagai masalah, baik dengan bantuan komputer maupun tanpa bantuan komputer, dibutuhkan algoritma yang terdiri dari serangkaian AKSI. Rangkaian aksi ini bisa dilaksa­nakan dalam 3 struktur dasar,  yaitu:
  1. Aksi dilaksanakan secara berturut-turut atau beruntun (sequence).
  2. Aksi yang akan dipilih atau dilaksanakan ditentukan oleh kondisi tertentu (selection).
  3. Satu atau serangkaian aksi dilaksanakan secara berulang-ulang selama kondisi tertentu masih terpenuhi (iteration/loop). Dengan demikian, struktur perulangan (iteration/loop) pasti mengandung struktur pemilihan (selection).

Seringkali, untuk memecahkan sebuah masalah dibutuhkan ketiga struktur ini secara sekaligus.
Misalnya,  dalam masalah menghilangkan rasa haus, terdapat rincian masalah seperti di bawah ini:

Output: Hilangnya rasa haus.

Input: Sebuah gelas kosong berukuran 200 cc dan botol berukuran 1000 cc penuh air.

Algoritma (dalam notasi alami):
1.    Angkat botol.
2.    Tuangkan air ke dalam gelas.
3.    Periksa kondisi air dalam gelas. Jika gelas belum penuh, lanjutkan ke langkah 4. Jika gelas sudah penuh, lanjutkan ke langkah 5.
4.    Periksa kondisi air dalam botol. Jika botol belum kosong,  kembali ke langkah 2. Jika botol sudah kosong, lanjutkan ke langkah 5.
5.    Letakkan botol air.
6.    Periksa air dalam gelas. Jika gelas kosong, lanjutkan ke langkah 11.  Jika gelas berisi air, lanjutkan ke langkah 7.
7.    Angkat gelas.
8.    Minum air.
9.    Periksa kondisi rasa haus. Jika rasa haus belum hilang, lanjutkan ke langkah 10. Jika rasa haus sudah hilang, lanjutkan ke langkah 11.
10.  Periksa kondisi air dalam gelas. Jika gelas belum kosong,  kembali ke langkah 8. Jika gelas sudah kosong, kembali ke langkah 1.
11.  Letakkan gelas.

Algoritma (dalam notasi flowchart):
Program:
var

airDiGelas, airDiBotol, haus:integer;
begin
airDiBotol:=1000;
airDiGelas:=0;
haus:=800;
while(haus>0) and (airDiBotol>0) do begin
    while (airDiGelas<200) and (airDiBotol>0) do begin
       airDiGelas:=airDiGelas+1;
       airDiBotol:=airDiBotol-1;
    end;
    while (haus>0) and (airDiGelas>0) do begin
       airDiGelas:=airDiGelas-1;
       haus:=haus-1;
    end;
end;
if haus>0 then writeln('Saya masih haus');
writeln('Sisa air dalam gelas = ',airDiGelas,' cc');
writeln('Sisa air dalam botol = ',airDiBotol,' cc');
end.


Dalam contoh program berbahasa Pascal di atas, instruksi pada baris 4, 5, 6 dan instruksi pada baris 18, 19,  dilaksanakan secara beruntun. Instruksi yang dilaksanakan secara berulang-ulang adalah instruksi pada baris 8 s/d 11, instruksi pada baris 12 s/d 15, serta instruksi pada baris 7 s/d 16 secara keseluruhan. Instruksi pada baris 8 s/d 11 dan 12 s/d 15 disebut nested loop atau loop bersarang/berkalang, struktur perulangan yang berada di dalam struktur perulangan yang lain. Baris 17 adalah contoh struktur pemilihan.


No comments:

Post a Comment

  How to make Fortigate V5.x full licensed..! Free......  Disclaimer: I'm Using fortigate VM64 v5.x , VMware ESXi The first i'm inst...