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.
|
|||
|
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 dilaksanakan dalam 3 struktur dasar, yaitu:
- Aksi dilaksanakan
secara berturut-turut atau beruntun (sequence).
- Aksi yang akan
dipilih atau dilaksanakan ditentukan oleh kondisi tertentu (selection).
- 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