Dasar Pemrograman
1. Pendahuluan
a. Definisi Komputer
Komputer adalah sebuah perangkat elektronik berbasis prosesor yang
digunakan untuk menyimpan dan memproses data sesuai dengan instruksi yang
diberikan oleh manusia. Sebuah komputer secara umum terdiri atas:
1. Peralatan input (misalnya keyboard, mouse, joystick)
2. Bagian pemrosesan (Central Processing Unit / CPU)
3. Peralatan output (misalnya monitor, printer, plotter, speaker)
Peralatan input adalah peralatan yang berfungsi memberikan instruksi
dari manusia ke komputer. Instruksi dari manusia ini akan dikonversi ke dalam
sinyal-sinyal listrik. Contoh: ketika manusia mengetikkan huruf “R” pada
keyboard, maka keyboard akan mengirimkan sinyal listrik berupa kode-kode
biner (kode berisi kombinasi nilai 0 dan 1) yang merepresentasikan huruf “R” ke
komputer.
Bagian pemrosesan (CPU) merupakan “otak” dari komputer. Maksudnya
adalah CPU ini akan memproses sinyal masukan yang datang dari peralatan
input dan kemudian akan memberikan hasil. Hasil pemrosesan ini dikirimkan ke
perangkat output. Misalnya: sinyal berupa huruf “R” dari keyboard akan diproses
menjadi sinyal-sinyal suara yang menggambarkan bagaimana cara melafalkan
huruf “R”. Catatan: sinyal hasil pemrosesan ini belum dapat didengar oleh
manusia.
Peralatan output adalah peralatan yang berfungsi menampilkan konversi
hasil pemrosesan dari CPU yang berupa sinyal listrik menjadi sinyal dalam
bentuk lain yang dapat diidentifikasi oleh panca indera manusia. Misalnya: sinyal
hasil pemrosesan dari CPU yang mewakili cara melafalkan huruf “R” akan
dikirimkan ke speaker. Hasilnya, speaker akan mengeluarkan suara “R”.
Kuliah Pemrograman Komputer ini akan memfokuskan diri pada
bagaimana membuat instruksi kepada komputer dalam bentuk program
(pada bagian CPU).
b. Pemrograman Komputer
Supaya CPU dapat memproses instruksi yang diberikan oleh manusia,
maka manusia perlu membuat sebuah program komputer. Program komputer
terdiri atas serangkaian instruksi atau perintah pada komputer yang dapat
membuat komputer menyelesaikan tugas tertentu. Pada umumnya program
komputer digunakan untuk menyelesaikan masalah tertentu, sehingga pada akhir
program yang telah dijalankan komputer dapat menghasilkan penyelesaian
masalah tersebut.
Pada awalnya perkembangan komputer, program komputer ditulis dalam
baris-baris biner (misalnya: 100010110110110001000…). Hal ini dilakukan
karena komputer hanya mengenal dua macam level tegangan listrik: HIGH (=1)
dan LOW (=0). Namun seiring dengan semakin berkembangnya teknologi,
menulis program langsung dalam bentuk biner menyulitkan manusia, karena
manusia harus menerjemahkan setiap segmen pada kode biner tersebut ke
dalam operasi-operasi standar yang dimengerti oleh komputer. Oleh karena itu,
dikembangkanlah bahasa-bahasa pemrograman yang mengkonversi ekspresi
bahasa manusia ke bahasa mesin (biner). Catatan: bahasa mesin ini dapat
disebut bahasa aras rendah (low-level language).
Dalam upaya mempermudah manusia untuk memprogram komputer,
maka dikembangkanlah bahasa-bahasa yang berada di atas bahasa mesin.
Bahasa-bahasa pemrograman yang dekat dengan bahasa mesin dikelompokkan
dalam bahasa aras menengah (middle-level language), contoh : Assembly dan
C. Sedangkan bahasa yang dekat dengan bahasa manusia dikelompokkan
dalam bahasa aras tinggi (high-level language), contoh : BASIC (Beginners All-
purpose Symbolic Instruction Code), FORTRAN (FORmula TRANslator), COBOL
(COmmon Business Oriented Language), Pascal, PL-I, Prolog. Bahkan dalam
perkembangan terbaru, karena munculnya internet dan sistem komputer
terdistribusi, maka dikembangkanlah bahasa-bahasa baru seperti Java, C#, dan
Python.
Program komputer dapat dituliskan dengan menggunakan bahasa
pemrograman apapun, asalkan proses yang diinginkan sudah tepat.
Penerjemahan dari bahasa aras tinggi/menengah ke bahasa aras rendah,
dilakukan oleh komputer itu sendiri dengan menggunakan program yang telah
dibuat oleh pembuat bahasa. Ada dua jenis program penerjemah yaitu compiler
dan interpreter. Compiler menerjemahkan terlebih dahulu keseluruhan baris-
baris program menjadi bahasa aras rendah, baru menjalankan perintah-
perintahnya. Interpreter menerjemahkan dan menjalankan perintah aras rendah
tersebut baris demi baris.
Meskipun bahasa pemrograman satu dan lainnya berbeda dalam aturan
penulisannya, hal itu dapat dipelajari dengan mudah dengan cara membiasakan
diri dalam mentaati aturan-aturan yang telah disusun oleh pembuatnya. Aturan
penulisan bahasa pemrograman biasanya disertakan saat membeli paket
perangkat lunak bahasa pemrograman tersebut dalam bentuk buku petunjuk
(Manual/Reference Books) atau dapat dibaca pada menu help saat program
bahasa pemrograman tersebut dijalankan.
Hal yang terpenting dalam menyusun program komputer adalah
menerapkan aturan pengurutan langkah-langkah pemecahan masalah yang
berbasis pada logika yang yang jelas dan terperinci. Proses inilah yang
dikenal dengan nama algoritma.
Definisi: Logika.
Logika adalah pola pikir yang dibangun berdasarkan prinsip-
prinsip / aturan-aturan keabsahan(validity) yang tegas dan jelas.
Langkah yang logis (berdasarkan logika) berarti langkah yang
dilakukan berdasarkan prinsip-prinsip logika.
Hasil/nilai dari kebenaran langkah-langkah yang disusun harus
dapat ditentukan, apakah benar atau salah.
Contoh logika 1:
Pernyataan I: Jika seseorang memiliki uang lebih dari 10 juta rupiah, maka orang itu
adalah orang kaya
Pernyataan II: Ronny memiliki uang 12 juta rupiah
Kesimpulan: Ronny adalah orang kaya. → kalimat ini VALID.
Catatan: Kesimpulan di atas adalah VALID, dan belum dapat dikatakan
BENAR, karena untuk mendapatkan kebenaran, kita perlu melihat apakah
pernyataan tersebut sudah terbukti benar (dengan observasi / pengukuran).
Contoh logika 2:
Pernyataan I: Jika sebuah obyek adalah hewan yang masih hidup, maka obyek itu pasti
bernafas.
Pernyataan II: Kucing saya adalah hewan yang masih hidup.
Kesimpulan: Kucing saya pasti bernafas.
Catatan: Kesimpulan di atas VALID, dan juga BENAR, karena sudah
teruji kebenarannya.
INGAT!! Dalam pemrograman komputer, semua operasi yang digunakan
(aritmatika, logika, perbandingan) merupakan operasi-operasi yang sudah
dibuktikan sebagai operasi yang BENAR).
a. Mendefinisikan Permasalahan
Langkah ini merupakan langkah terpenting dan mendasari langkah-
langkah yang lain. Pendefinisian di sini berarti menentukan permasalahan yang
ada kemudian memecahnya menjadi hasil akhir (output) yang dikehendaki, data
masukan (input) yang diperlukan, dan dengan cara apa input dapat berubah
menjadi output. Ketiga hal yang harus disebutkan dalam langkah ini, haruslah
dinyatakan dengan jelas. Artinya tidak ada hal yang tidak dapat dimengerti atau
bermakna ganda bagi manusia berotak normal.
b. Menyiapkan Algoritma
Seperti telah dijelaskan di bagian awal, algoritma adalah urutan langkah-
langkah logis yang jelas dan terperinci dalam pemecahan masalah. Dalam
pembuatan algoritma, perlu dipertimbangkan bagaimana kemampuan atau apa
saja batasan yang dimiliki oleh komputer maupun bahasa pemrograman yang
digunakan dalam berbagai hal, antara lain :
kemampuan melakukan operasi aritmatika (beberapa bahasa
pemrograman terkadang terbatas pada operasi penjumlahan,
pengurangan, perkalian dan pembagian)
kemampuan membandingkan dua hal, dan menentukan alternatif
aktivitas berdasarkan hasil perbandingan tersebut
kemampuan memindahkan data dalam memory (ingatan komputer),
yaitu bagian komputer yang dapat digunakan untuk menyimpan
instruksi dan data
kemampuan menerima input dan mengeluarkan output
Algoritma yang baik dapat menggabungkan kemampuan atau batasan komputer
yang ada untuk menyelesaikan masalah serumit apapun juga. Untuk itu,
terkadang diperlukan beberapa tahapan untuk menyempurnakan algoritma yang
telah dibuat.
Hal lain yang perlu diperhatikan adalah komputer tidak mempunyai
ingatan akan masa lalu. Berbeda dengan otak manusia yang terus bekerja
sehingga mempunyai ingatan akan hal-hal yang telah dilakukannya, komputer
tidak demikian. Asumsi bahwa komputer hanya dapat berlogika dasar saja
dan belum mengetahui segala sesuatu harus menjadi pertimbangan dasar
dalam membuat algoritma.
Sebelum proses dilanjutkan ke tahapan yang selanjutnya, algoritma perlu
diuji kebenarannya dengan cara membandingkan hasil pemikiran langsung otak
manusia normal dengan hasil langkah-langkah algoritma tersebut berdasarkan
logika dasar. Algoritma dikatakan telah benar apabila terhadap masukan dengan
banyak variasi, hasil perbandingan tersebut menunjukkan hal yang sama.
Pada umumnya, algoritma ditulis dengan bahasa sehari-hari manusia dan
pada setiap langkah yang ada diberi awalan nomor untuk menunjukkan urutan
langkah dan identitas. Dalam sebuah nomor sebaiknya hanya berisi satu
perintah yang spesifik dan berbeda dengan perintah pada nomor-nomor yang
lain. Untuk lebih jelasnya dapat dilihat pada contoh 1-1.
d. Menyusun Program
Dalam tahap ini, algoritma atau diagram alir yang telah dibuat diubah
menjadi baris-baris program sesuai dengan aturan bahasa pemrograman yang
dikehendaki. Perlu ditegaskan, dalam kuliah ini tidak dibahas aturan penulisan
bahasa pemrograman tertentu secara detail, tetapi akan tetapi lebih
menitikberatkan pada penyusunan algoritma program untuk memecahkan
masalah, yaitu langkah-langkah logis yang jelas dan terperinci dalam pemecahan
masalah, dengan baik dan benar serumit apapun masalah yang dihadapi.
Untuk memberikan gambaran yang jelas dan memberikan penguasaan
terhadap satu bahasa pemrograman, dalam kuliah ini digunakan contoh-contoh
dan latihan dengan menggunakan bahasa pemrograman C# pada aplikasi
Microsoft Visual Studio 2012.
Mendefinisikan Permasalahan
Dari sederetan bilangan sebagai input, tentukan berapa jumlah bilangan positif,
berapa jumlah bilangan negatif, dan berapa jumlah bilangan nol sebagai output-
nya.
Menyiapkan Algoritma
Untuk dapat mengerjakan tugas tersebut digunakan pencacah (counter) untuk
masing-masing kelompok yang akan ditentukan jumlahnya yaitu pencacah untuk
bilangan positif, pencacah untuk bilangan negatif dan pencacah untuk bilangan
nol. Algoritma yang digunakan untuk mengubah pencacah apabila terdapat suatu
bilangan yang dievaluasi adalah sebagai berikut :
1. Mulai
2. Jika bilangan positif, tambahkan angka satu ke pencacah positif
3. Jika bilangan negatif, tambahkan angka satu ke pencacah negatif
4. Jika bilangan nol, tambahkan angka satu ke pencacah nol
5. Selesai
Jika algoritma tersebut langsung dijalankan pada komputer, tidak akan berjalan
dengan normal. Karena komputer tidak dapat dengan langsung mengidentifikasi
jenis bilangan tersebut. Untuk menentukan jenis bilangan positif/negatif/nol, perlu
digunakan kemampuan komputer untuk membandingkan dua hal, sehingga
algoritma perlu diubah menjadi :
1. Mulai
2. Jika bilangan > 0, tambahkan angka satu ke pencacah positif
3. Jika bilangan < 0, tambahkan angka satu ke pencacah negatif
4. Jika bilangan = 0, tambahkan angka satu ke pencacah nol
5. Selesai
Karena otak manusia sudah dapat merekam pengalaman masa lalu, dapat
dengan cepat ditentukan bahwa deretan tersebut terdiri dari 4 bilangan positif, 3
bilangan negatif, dan 1 bilangan nol. Untuk pembuktian algoritma, ketujuh
langkah tersebut dilakukan pada barisan tersebut, selengkapnya dalam tabel 1-2.
Hasil akhirnya ternyata telah sama dengan hasil identifikasi oleh otak manusia.
Sehingga langkah ini dapat diakhiri sampai disini.
Pencacah
1 - - - -
2 - - - -
3 - - - -
4 - 0 0 0
5 16 0 0 0
6 16 1 0 0
5 3 1 0 0
6 3 2 0 0
5 -7 2 0 0
6 -7 2 0 0
7 -7 2 1 0
5 0 2 1 0
6 0 2 1 0
7 0 2 1 0
8 0 2 1 1
5 4 2 1 1
5 4 3 1 1
5 -6 3 1 1
6 -6 3 1 1
7 -6 3 2 1
5 -2 3 2 1
6 -2 3 2 1
7 -2 3 3 1
5 8 3 3 1
6 8 4 3 1
5 - 4 3 1
9 - 4 3 1
10 - 4 3 1
Gambar 1-2. Diagram Alir Program Menentukan Jumlah Bilangan
Positif, Negatif, dan Nol pada Sederetan Bilangan
Mendefinisikan Permasalahan
Dengan mencatat waktu (jam:menit:detik) saat memulai percakapan dan waktu
saat mengakhiri percakapan sebagai input, ditentukan lamanya waktu
percakapan (jam:menit:detik) sebagai output-nya.
Menyiapkan Algoritma
Bila dilihat dan dipikirkan dengan otak manusia normal yang sedikit terlatih
kemampuan aritmatikanya, tentunya akan dengan cepat diperoleh algoritma
sebagai berikut :
1. Mulai
2. Baca waktu saat memulai percakapan, misalkan j1:m1:d1
3. Baca waktu saat mengakhiri percakapan, misalkan j2:m2:d2
4. Hitung waktu percakapan (j3:m3:d3) sebagai selisih antara (j2:m2:d2)
dengan (j1:m1:d1)
5. Tampilkan waktu percakapan (j3:m3:d3)
6. Selesai
1. Mulai
2. Baca waktu saat memulai percakapan, misalkan j1:m1:d1
3. Baca waktu saat mengakhiri percakapan, misalkan j2:m2:d2
4. Konversi j1:m1:d1 ke dalam jumlah detik (det1)
5. Konversi j2:m2:d2 ke dalam jumlah detik (det2)
6. Hitung waktu percakapan (det3) sebagai selisih antara det2 dengan det1
7. Konversi det3 ke dalam bentuk j3:m3:d3
8. Tampilkan waktu percakapan (j3:m3:d3)
9. Selesai
1. Mulai
2. Baca waktu saat memulai percakapan, misalkan j1:m1:d1
3. Baca waktu saat mengakhiri percakapan, misalkan j2:m2:d2
4. Buatlah/deklarasikanlah variabel-variabel untuk menyimpan hasil konversi,
yaitu det1, det2, det3, j3, m3, dan d3.
5. Hitung det1 = j1 x 3600 + m1 x 60 + d1
6. Hitung det2 = j2 x 3600 + m2 x 60 + d2
7. Hitung det3 = det2 - det1
8. Hitung j3 = det3 div 3600
9. Hitung m3 = (det3 mod 3600) div 60
10. Hitung d3 = (det3 mod 3600) mod 60
11. Tampilkan waktu percakapan (j3:m3:d3)
12. Selesai
Pada langkah 8 – 10 di atas terdapat dua operator div (hasil bagi bulat) dan mod
(sisa hasil bagi) yang akan dibahas lebih lanjut pada bab selanjutnya.
*** Apakah algoritma yang terakhir ini sudah baik dan benar ? Silahkan diuji
dan kalau belum baik dan benar bagian mana yang harus disempurnakan ?
***
Membuat Project
Untuk mengimplementasikan algoritma ke dalam program berbasis Visual C#,
terlebih dahulu kita harus membuat Project baru. Langkah-langkahnya adalah
sebagai berikut:
a. Klik “New Project”.
b. Pilih Template “Visual C#” dan jenis aplikasi “Console Application”
c. Beri nama Project pada isian “Name”, misalnya “PercakapanTelepon”
d. Tentukan tempat menyimpan project tersebut pada komputer, dengan
mencarinya pada isian “Location”. Gunakan tombol “Browse…” untuk mencari
(dan membuat) folder. Misalnya, nama foldernya adalah: “D:\03_Komputer
Pemrograman\Modul_01_01\”
e. Tidak perlu mengubah Solution Name, karena otomatis akan disamakan
dengan nama project.
f. Klik OK.
namespace PercakapanTelepon
{
class Program
{
static void Main(string[ ] args)
{
}
}
}
b. Penyusunan Program
Program disusun sesuai dengan algoritma atau diagram alir yang telah
dibuat dengan tata bahasa yang dimengerti oleh komputer, dalam kuliah ini akan
digunakan bahasa C# (dibaca: C-sharp) dengan compiler yang disediakan oleh
IDE Microsoft Visual Studio 2012. Program dituliskan pada editor C# pada IDE
yang sama.
c. Bahasa Pemrograman C#
Untuk dapat menuliskan program dalam IDE Microsoft Visual Studio
2012, tentunya bahasa pemrograman C# harus dikuasai dengan baik. Dalam
kuliah ini, dasar-dasar bahasa tersebut akan dibicarakan sedikit demi sedikit
seiring dengan materi yang dibahas. Secara umum dalam bahasa C# terdapat
kata-kata kunci (keyword) dan tanda-tanda (sign) yang digunakan untuk
menjalankan suatu perintah.
Program yang ditulis dalam bahasa C# akan menjalankan program utama
yang berada di dalam metode static void Main(string[ ] args). Semua instruksi
yang ada di dalam metode tersebut berasal dari file-file library yang dapat
diakses menggunakan kata kunci: using. Misalnya seperti baris program dasar
yang dibangkitkan / di-generate oleh Microsoft Visual Studio 2012 di atas:
using System;
Ini berarti jika dalam baris program ada kata kunci yang urutan-urutan
instruksinya ada di file library dalam folder / namespace “System”, maka Visual
Studio 2012 akan mengerti arti dari kata kunci tersebut. Hal ini persis seperti kita
yang berusaha memahami kata-kata dalam bahasa Inggris dan baru mengerti
maksudnya setelah membuka kamus Bahasa Inggris. Dalam hal ini “System”
dapat dibayangkan sebagai “kamus” untuk beberapa kata kunci pada program
tersebut.
d. Pelaksanaan Program
Untuk melaksanakan (mengeksekusi) program, tekan tombol fungsi
Ctrl+F5 satu kali. Setelah program selesai dikerjakan, pada layar monitor bagian
bawah akan muncul komentar “Press any key to continue” yang bertujuan untuk
memberitahu pemrogram untuk menekan sembarang tombol untuk kembali ke
editor Visual Studio 2012 lagi.
e. Menyimpan Program
Program yang telah dibuat dapat disimpan dengan meng-klik perintah File
→ Save. Program secara otomatis akan tersimpan pada lokasi penyimpanan
yang telah ditentukan di awal pembuatan project.
Jika diinginkan untuk menyimpan program di media penyimpanan lain
seperti Flash Disk, maka yang di-copy adalah folder projectnya, seperti yang
diperlihatkan pada gambar di bawah ini.
Jika suatu ketika kita ingin membuka lagi program melalui file system,
double klik-lah file projectnya (ekstensi *.sln):
g. Pencetakan File Program
File program dapat dicetak melalui printer. Bila dikehendaki untuk
mencetak program ke printer yang terhubung langsung dengan CPU, maka klik
“Print” pada panel “File” sebagai berikut:
lalu tentukan jenis printernya (harus sesuai dengan jenis printer yang tersambung
pada CPU).
Program Komputer
Sesuai dengan algoritma pada contoh di atas, dapat dibuat program komputer
dalam Visual Studio 2012 seperti di bawah ini.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PercakapanTelepon
{
class Program
{
static void Main(string[] args)
{
int j1 = 2;
int m1 = 55;
int d1 = 30;
int j2 = 3;
int m2 = 1;
int d2 = 27;
Console.WriteLine("Total Waktu
Pembicaraan = {0}:{1}:{2}", j3, m3, d3);
}
}
}
Mendefinisikan Permasalahan
Dari sebuah bilangan yang menyatakan besarnya suhu dalam derajat Celcius
sebagai input, akan ditentukan nilai ekivalen suhu tersebut dalam derajat
Fahrenheit sebagai output-nya.
Menyiapkan Algoritma
Untuk dapat mengerjakan tugas tersebut digunakan persamaan berikut ini,
dengan variabel F adalah besarnya suhu dalam derajat Fahrenheit dan C adalah
besarnya suhu dalam derajat Celsius.
Program Komputer
Sesuai dengan algoritma di atas, dapat dibuat program komputer dalam Visual
Studio 2012 seperti di bawah ini.
class Program
{
static void Main(string[] args)
{
double c = 80;
double f = c * 9 / 5 + 32;
4. Latihan
Buatlah secara urut semua tahap pembuatan program komputer (yang paling
penting adalah algoritma/diagram alir dan program dalam Visual Studio 2012)
untuk menyelesaikan masalah-masalah di bawah ini :
1. Menghitung luas dan keliling lingkaran jika diketahui jari-jarinya r = 35 cm.
2. Menentukan volume kerucut dengan r = 20 cm dan tinggi h = 40 cm.
3. Menghitung keliling limas segitiga sama sisi dengan panjang sisi = 14 cm
4. Menghitung hambatan total paralel dengan tiga buah tahanan, dengan
masukan R1 = 1 , R2 = 2 , dan R3 = 3 .
5. Menghitung biaya yang dikeluarkan untuk membuat sebuah tabung dengan
tutup dan alas jika harga bahan (plat) per meter perseginya adalah Rp.
12.000,-. Diinginkan tabung tersebut memiliki diameter 2 m dan tinggi 3 m.
6. Menghitung biaya yang dikeluarkan dalam pembuatan suatu kerangka kubus,
jika harga per meter logam yang dipakai untuk membuat kerangka adalah Rp
2.500,- dan sisi-sisi kubus 4 m.
7. Menghitung biaya yang dikeluarkan dalam penggunaan bensin jika
kecepatan sebuah mobil diketahui 110 km/jam dan t=240 menit (4 jam). Jika
1 liter bensin Rp5.000,- dapat digunakan untuk 22 km.
8. Menghitung kecepatan mobil saat t=5 detik dengan percepatan 5 km /s dan 2