Ringkasan Materi Pemrograman Dasar
Ringkasan Materi Pemrograman Dasar
Ringkasan Materi Pemrograman Dasar
Sejarah Algoritma
Algoritma merupakan jantung ilmu komputer dan informatika. Banyak cabang dari ilmu komputer yang
diacu dalam algoritma. Algoritma berasal dari kata algorism yang berarti proses menghitung. Kata
Algorism dikenalkan oleh Ahli Matematika : Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi.
Seorang ahli Matematika, astronomi, astrologi, dan geografi yang berasal dari persia. Lahir sekitar tahun
780 di Khawrizm (sekarang Khiva, Uzbekistan) dan wafat sekitar tahun 850 di Baghdad. Hampir
sepanjang hidupnya, ia bekerja sebagai dosen di Sekolah kehormatan di Baghdad. Buku pertamanya
adalah al-jabar, yaitu membahas sistematik, linear dan notasi kuadrat. Sehingga ia disebut sebagai Bapak
Aljabar.
Pengertian Algoritma
Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.
2. Pseudocode
Pseudo berarti imitasi atau tiruan atau menyerupai, sedangkan code menunjuk pada kode program.
Sehingga pseudocode adalah kode yang mirip dengan instruksi/perintah kode program sebenarnya.
Pseudocode didasarkan pada bahasa pemrograman yang sesungguhnya seperti BASIC, FORTRAN atau
PASCAL. Pseudocode yang berbasis bahasa PASCAL merupakan pseudocode yang sering digunakan.
Kadang-kadang orang menyebut pseudocode sebagai PASCAL-LIKE algoritma.
Contoh di atas dapat ditulis dalam pseudocode berbasis bahasa BASIC berikut ini:
1. Start
2. READ alas, tinggi
3. Luas = 0.5 * alas * tinggi
4. PRINT Luas
5. Stop
Dengan menggunakan pseudocode seperti di atas maka proses penterjemahan dari algoritma ke kode
program menjadi lebih mudah.
3. Flowchart
Flowchart atau bagan alir adalah skema/bagan (chart) yang menunjukkan aliran (flow) di dalam suatu
program secara logika. Flowchart merupakan alat yang banyak digunakan untuk menggambarkan
algoritma dalam bentu notasi-notasi tertentu.
Beberapa simbol penting Flowchart yang digunakan untuk membuat algoritma yaitu :
Notasi ini disebut Terminator yang berarti digunakan untuk menunjukkan awal dan
akhir suatu algoritma.
Notasi ini disebut Process yang digunakan untuk mewakili suatu proses.
Notasi ini disebut Preparation yang digunakan untuk memberi nilai awal, nilai akhir,
penambahan/pengurangan bagi suatu penghitung variabel (variable counter).
Notasi ini disebut Predefined Process yang digunakan untuk menunjukkan suatu
operasi yang rinciannya ditunjukkan ditempat lain (prosedur, sub-prosedur, fungsi).
Notasi ini disebut Connector Off Page yang digunakan untuk menunjukkan
sambungan dari flowchart yang terputus di halaman yang berbeda.
Notasi ini disebut Arrow yang digunakan untuk menunjukkan arus data atau aliran
data dari proses satu ke proses lainnya.
Mulai
Masukkan
alas, tinggi
Tampilkan
Luas
Selesai
Pada bagian ini kita akan bahas lebih dulu struktur algoritma berurutan.
Struktur berurutan dapat kita samakan dengan mobil yang sedang berjalan
pada jalur lurus yang tidak terdapat persimpangan seperti tampak pada
gambar di samping. Mobil tersebut akan melewati kilometer demi
kilometer jalan sampai tujuan tercapai.
Struktur berurutan terdiri satu atau lebih instruksi. Tiap instruksi dikerjakan secara berurutan sesuai
dengan urutan penulisannya, yaitu sebuah instruksi dieksekusi setelah instruksi sebelumnya selesai
dieksekusi. Urutan instruksi menentukan keadaan akhir dari algoritma. Bila urutannya diubah, maka hasil
akhirnya mungkin juga berubah.
Menurut Goldshlager dan Lister (1988) struktur berurutan mengikuti ketentuan-ketentuan sebagai berikut:
• tiap instruksi dikerjakan satu persatu
• tiap instruksi dilaksanakan tepat sekali, tidak ada yang diulang
• urutan instruksi yang dilaksanakan pemroses sama dengan urutan aksi sebagaimana yang tertulis di
dalam algoritmanya
• akhir dari instruksi terakhir merupakan akhir algoritma.
Contoh struktur algoritma berurutan seperti contoh flowchart menghitung luas segitiga di atas.
Pada struktur percabangan, program akan berpindah urutan pelaksanaan jika suatu kondisi yang isyaratkan
dipenuhi. Pada proses seperti ini simbol flowchart Decision harus digunakan. Simbol decision akan berisi
pernyataan yang akan diuji kebenarannya. Nilai hasil pengujian akan menentukan cabang mana yang akan
ditempuh.
Masukkan
Usia
Y T
Usia = 17
Selesai
Pada pembuatan program komputer, kita juga kadang-kadang harus mengulang satu atau sekelompok
perintah berkali-kali agar memperoleh hasil yang diinginkan. Dengan menggunakan komputer, eksekusi
pengulangan mudah dilakukan. Hal ini karena salah satu kelebihan komputer dibandingkan dengan
manusia adalah kemampuannya untuk mengerjakan tugas atau suatu instruksi berulangkali tanpa merasa
lelah, bosan, atau malas. Bandingkan dengan pengendara mobil balap, suatu ketika pasti dia merasa lelah
dan bosan untuk berputar-putar mengendarai mobil balapnya.
Pada struktur pengulangan, biasanya juga disertai bagian inisialisasi dan bagian terminasi. Inisialisasi
adalah instruksi yang dilakukan sebelum pengulangan dilakukan pertama kali. Bagian insialisasi
umumnya digunakan untuk memberi nilai awal sebuah variable. Sedangkan terminasi adalah instruksi
yang dilakukan setelah pengulangan selesai dilaksanakan.
Ada beberapa bentuk pengulangan yang dapat digunakan, masing-masing dengan syarat dan karakteristik
tersendiri. Beberapa bentuk dapat dipakai untuk kasus yang sama, namun ada bentuk yang hanya cocok
untuk kasus tertentu saja. Pemilihan bentuk pengulangan untuk masalah tertentu dapat mempengaruhi
kebenaran algoritma. Pemilihan bentuk pengulangan yang tepat bergantung pada masalah yang akan
diprogram.
Pada struktur pengulangan dengan While, simbol preparasi untuk pengulangan seperti pada For tidak
digunakan lagi. Namun kita menggunakan simbol decision untuk mengendalikan pengulangan.
Selain kondisi, biasanya pada pengulangan While harus dilakukan inisialisasi variabel terlebih dahulu.
1. Variabel
Variabel adalah tempat/nama dimana kita dapat mengisi atau mengosongkan nilainya (nilai dapat diubah-
ubah) dan memanggil kembali apabila dibutuhkan.
Setiap variabel akan mempunyai nama (identifier) dan nilai. Perhatikan contoh berikut.
Contoh Nama variabel dan nilai.
username = “joni”
Nama = “Al-Khawarizmi”
Harga = 2500
HargaTotal = 34000
Pada contoh di atas, username, Nama, harga dan HargaTotal adalah nama dari variabel sedangkan
“joni”, “Al-Khawarizmi”, 2500 dan 34000 adalah nilai dari masing-masing variabel. Nilai-nilai ini akan
tersimpan di dalam nama variabel masing-masing sepanjang tidak kita ubah.
Pada sebagian besar bahasa pemrograman, variabel harus dideklarasikan lebih dulu untuk mempermudah
compiler bekerja. Apabila variabel tidak dideklarasikan maka setiap kali compiler bertemu dengan
variabel baru pada kode program akan terjadi waktu tunda karena compiler harus membuat variabel baru.
Hal ini memperlambat proses kerja compiler. Bahkan pada beberapa bahasa pemrograman, compiler akan
menolak untuk melanjutkan proses kompilasi.
Pemberian nama variabel harus mengikuti aturan yang ditetapkan oleh bahasa pemrograman yang kita
gunakan. Namun secara umum ada aturan yang berlaku untuk hampir semua bahasa pemrograman.
for
2. Konstanta
Konstanta adalah variabel yang nilai datanya bersifat tetap dan tidak bisa diubah. Jadi konstanta adalah
juga variabel bedanya adalah pada nilai yang disimpannya. Jika nilai datanya sepanjang program berjalan
tidak berubah-ubah, maka sebuah varibel lebih baik diperlakukan sebagai konstanta. Pada sebuah kode
program, biasanya nilai data dari konstanta diberikan langsung di bagian deklarasi konstanta. Sedangkan
untuk variabel biasanya hanya ditentukan nama variabel dan tipe datanya tanpa isian nilai data. Aturan
penamaan variabel juga berlaku untuk penamaan konstanta. Demikian juga aturan penetapan tipe data.
Software Engineering – UPT SMK Negeri 1 Pasuruan -6-
Sebagai contoh, jika kita membuat program perhitungan matematik yang menggunakan nilai pi (3.14159)
yang mungkin akan muncul dibanyak tempat pada kode program, kita dapat membuat pi sebagai
konstanta. Penggunaan konstanta pi akan lebih memudahkan penulisan kode program dibanding harus
mengetikkan nilai 3.14159 berulang-ulang.
• Identifier
Identifier atau nama dari variabel atau konstanta pada C++ bersifat case sensitive yaitu membedakan besar
kecilnya huruf. Variabel dengan nama namaguru berbeda dengan variabel NamaGuru.
Ada dua cara untuk mendeklarasikan konstanta. Pertama, dengan menggunakan preprocessor directive
#define. Kedua, dengan menggunakan kata kunci const.
3. Tipe Data
Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam
pemrograman komputer. Setiap variabel atau konstanta yang ada dalam kode program, sebaiknya kita
tentukan dengan pasti tipe datanya. Ketepatan pemilihan tipe data pada variabel atau konstanta akan
sangat menentukan pemakaian sumberdaya komputer (terutama memori komputer). Salah satu tugas
penting seorang programmer adalah memilih tipe data yang sesuai untuk menghasilkan program yang
efisien dan berkinerja tinggi.
Ada banyak tipe data yang tersedia tergantung jenis bahasa pemrograman yang dipakai.
Penerjemah bahasa pemrograman dibedakan menjadi 3 (tiga) macam, yaitu assembler, compiler, dan
interpreter.
1) Asembler adalah program yang digunakan untuk menerjemahkan kode sumber dalam bahasa rakitan
(assembly) ke dalam bahasa mesin.
2) Compiler adalah program penerjemah yang mengkonversi semua kode sumber selain dalam bahasa
rakitan menjadi kode objek. Hasil berupa kode objek inilah yang dapat dijalankan oleh komputer.
Proses untuk melakukan penerjemahan ini biasa disebut kompilasi.
3) Intepreter adalah program yang menerjemahkan satu per satu instruksi dalam kode sumber kemudian
menjalankan instruksi yang telah diterjemahkan tersebut.
Bahasa pemrograman (programming language) merupakan program yang digunakan untuk
menerjemahkan perintah-perintah yang ditulis dalam bahasa program ke dalam bahasa mesin sehingga
dapat diterima dan dimengerti oleh komputer.
Pada dasarnya bahasa komputer dapat dibedakan menjadi empat macam, yaitu bahasa mesin dan bahasa
assembly (kedua bahasa ini termasuk bahasa tingkat rendah/low level language), bahasa tingkat tinggi
(high level language), dan bahasa generasi keempat.
1. Bahasa mesin
Bahasa mesin termasuk ke dalam bahasa tingkat rendah (low level language) karena sifat dari bahasa
mesin lebih berorientasi pada mesin. Bahasa ini hanya akan dipahami oleh komputer itu sendiri.
Bahasa ini berupa kode-kode yang terdiri dari sekumpulan angka yang ada di dalam komputer yang
biasanya diwakili oleh kode angka 1 (satu) dan 0 (nol). Kode ini merupakan sinyal elektronik yang
memberitahu komputer apa yang harus dikerjakan. Dalam penggunaannya biasanya intruksi dituliskan
dalam bentuk bahasa pemrograman yang akan disampaikan ke compiler, assembler, atau interpreter
yang bertugas untuk menerjemahkan bahasa pemrograman tadi ke bahasa mesin.
Assembler merupakan sebuah program. Program ini mengambil informasi yang dituliskan oleh
programmer dalam bahasa assembly dan menerjemahkannya ke sebuah program yang dapat
dieksekusi komputer. output assembler harus diproses oleh linker untuk menghasilkan program akhir.
2. Bahasa assembly
Bahasa asembly adalah bahasa pemrograman yang menggunakan bahasa rakitan. Bahasa assembly
kebanyakan digunakan untuk pengendalian hardware yang diwujudkan dalam kependekan kata-kata
sebagai pengganti kode-kode biner, misalnya JNZ (jump non zero) yang artinya lompatlah jika tidak
sama dengan nol. Kelanjutan dari bahasa assembly adalah sebuah program yang berguna untuk
mengambil informasi yang dituliskan oleh seorang programmer dalam bahasa assembly serta
menerjemahkannya ke dalam sebuah program yang dapat dieksekusi oleh komputer, program ini
dinamakan assembler. Output assembler harus diproses oleh linker untuk menghasilkan program
akhir.