DASAR-DASAR ALGORITMA DAN PEMROGRAMAN

DASAR-DASAR ALGORITMA DAN PEMROGRAMAN

DASAR-DASAR ALGORITMA DAN PEMROGRAMAN

DASAR-DASAR ALGORITMA DAN PEMROGRAMAN
DASAR-DASAR ALGORITMA DAN PEMROGRAMAN

Dewasa ini, komputer digunakan di hampir se­mua bidang kehidupan manusia, mulai dari pendidik­an, bisnis, sampai dengan permainan. Berbicara tentang komputer tidak lepas dari pemrograman komputer. Hal ini karena komputer pada dasarnya adalah mesin yang tidak bisa apa-apa. Kita harus memberikan serangkaian instruksi kepada komputer agar mesin ‘pintar’ ini dapat memecahkan suatu masalah. Langkah-langkah yang kita lakukan dalam memberikar. instruksi kepada komputer untuk memecahkan masalah inilah yang dinamakan pemrograman komputer.

Pemrograman Komputer

Dalam kehidupan sehari-hari, untuk berkomu­nikasi dengan orang lain, kita harus menggunakan bahasa yang sama dengan orang tersebut. Apabila kita menggunakan Bahasa Indonesia, lawan bicara kita juga harus mengerti Bahasa Indonesia. Kalau lawan bicara kita tidak mengerti Bahasa Indonesia, kita masih bisa berkomunikasi dengannya melalui seorang penerjemah.

Dalam pemrograman komputer, berlaku juga hal seperti di atas. Kita harus menggunakan bahasa yang dimengerti oleh komputer untuk memberikan suatu instruksi.

Pada dasarnya, komputer adalah mesin digital, artinya komputer hanya mengenal kondisi ada arus listrik (biasanya dilambangkan dengan 1) dan tidak ada arus listrik (biasanya dilambangkan dengan 0). Dengan kata lain, kita harus menggunakan sandi 0 dan 1 untuk melakukan pemrograman komputer. Bahasa pemro­graman yang menggunakan sandi 0 dan 1 ini disebut bahasa mesin. Mungkin Anda sudah bisa membayang­kan bagaimana sulitnya memprogram dengan bahasa mesin. Namun Anda tidak perlu kuatir karena dewasa ini jarang sekali orang yang memprogram dengan bahasa mesin.

Karena bahasa mesin sangat susah, maka muncul ide untuk melambangkan untaian sandi 0 dan 1 dengan singkatan kata yang lebih mudah dipahami manusia. Singkatan kata ini kemudian sering disebut mnemonic code. Bahasa pemrograman yang menggunakan singkat­an kata ini disebut bahasa assembly.

Sebagai contoh, dalam prosesor Intel, terdapat perintah 0011 1010 0000 1011. Perintah dalam bahasa mesin ini sama artinya dengan perintah assembly CMP AL, OD, yang artinya bandingkan nilai register AL dengan 0D. CMP di sini sebenarnya adalah singkatan dari CoMPare. DapatAnda lihat di sini bahwa perintah CMP AL, 0D jauh lebih mudah dipahami daripada 0011 1010 0000 1011. Tentu saja ini jika dilihat dari sudut pandang manusia, bagi komputer, kombinasi 0 dan 1 tentu lebih mudah dipahami. Perangkat lunak yang mengkonversikan perintah-perintah assembly ke dalam bahasa mesin sering disebut juga assembler.

Pemrograman dengan bahasa assembly dirasa­kan banyak orang masih terlalu sulit, termasuk saya sendiri. Sesusai dengan sifat manusia yang tidak pernah puas, akhirnya dikembangkan suatu bahasa pemro­graman yang lebih mudah digunakan. Bahasa pemro­graman ini menggunakan kata-kata yang mudah di­kenali oleh manusia. Bahasa pemrograman seperti ini disebut bahasa generasi ketiga atau disingkat 3GL (third­generation language). Beberapa orang menyebut bahasa ini dengan bahasa tingkat tinggi atau disingkat HLL (high-level language). Ada banyak contoh bahasa generasi ketiga, antara lain: Basic, Pascal, C, C++, CO­BOL, dsb.

Bahasa generasi ketiga biasanya menggunakan kata-kata dalam bahasa Inggris karena memang bahasa tersebut adalah bahasa internasional. Sebagai contoh, Anda dapat menuliskan perintah berikut dalam bahasa Pascal:

writeln (‘Algoritma’);

atau perintah berikut dalam bahasa C:

printf (“Algoritma\n\r”);

atau perintah berikut dalam bahasa C++:

cout « “Algoritma” « endl;

Ketiga pernyataan di atas bertujuan sama, yaitu menuliskan teks ‘Algoritma’ ke keluaran standar (stan­dard output), biasanya ke layar komputer.

Ketiga perintah sederhana di atas sebenarnya terdiri dari puluhan atau mungkin bahkan ratusan per­nyataan assembly. Perangkat lunak yang menerjemah kan program dalam bahasa manusiawi ke dalam bahasa assembly atau mesin ada dua macam, yaitu interpreter dan kompiler.

Interpreter menerjemahkan program baris per baris, artinya jika suatu baris akan dieksekusi, maka baris tersebut diterjemahkan terlebih dulu ke bahasa mesin. Apabila baris berikutnya akan dieksekusi, maka baris tersebut baru diterjemahkan ke dalam bahasa me­sin. Contoh bahasa pemrograman yang menggunakan interpreter adalah Basic.

Kompiler menerjemahkan semua perintah ke dalam bahasa mesin kemudian menjalankan hasil penerjemahan. Hasil penerjemahan ini bisa disimpan dalam file atau memori. Contoh bahasa pemrograman yang menggunakan kompiler adalah Pascal, C, dan C++. Khusus untuk Pascal, ada beberapa kompiler tetapi memang jumlahnya tidak banyak, misalnya Turbo Pascal (http://www.innrise.com), GNU Pascal (http://didaktik.physik.uni-essen.de/-gnu-pascal/ home.html), Free Pascal (http://www.freepascal.sk), dsb. Meskipun demikian, kompiler Pascal yang paling banyak digunakan adalah Turbo Pascal. Jadi buku ini juga menggunakan Turbo Pascal sebagai acuannya.

Cara Membuka Situs yang Diblokir Internet Positif di Google Chrome – Perkembangan bahasa pemrograman tidak sampai pada bahasa generasi ketiga saja. Ada generasi lanjutan bahasa pemrograman, yaitu bahasa generasi keempat atau disingkat 4GL (fourth-generation language). Bahasa ini banyak digunakan untuk mengembangkan aplikasi basis data (database). Salah satu contohnya adalah SQL (Structured Query Language). Pada bahasa ini, perintah-perintah yang digunakan lebih manusiawi, misalnya “SELECT Nama, Alamat FROM Karyawan”, untuk mengambil data Nama dan Alamat dari basis data Karyawan.

Dari penjelasan singkat ini, saya berharap Anda dapat memahami di manakah sebenamya posisi bahasa Pascal ditinjau dalam pemrograman komputer. Pada subbab berikutnya, saya akan membahas di manakah posisi algoritma dalam pemrograman komputer.

Catatan Akhir

Sekedar catatan akhir, algoritma sebenarnya di­gunakan untuk membantu Anda dalam mengkonversi­kan suatu permasalahan ke dalam bahasa komputer. Oleh karena itu, banyak pemrogram yang sudah ber­pengalaman tidak pernah menuliskan algoritma di atas kertas lagi. Artinya dia menuliskan algoritma itu di dalam kepalanya dan dia langsung memprogram berdasarkan algoritma di kepalanya itu. Pada bab-bab akhir dari buku ini, Anda akan jarang menemukan pe­nulisan algoritma secara eksplisit seperti di atas karena saya menganggap Anda sudah bisa menuliskannya di dalam kepala.

Pada bab-bab berikutnya, saya tidak akan meng­gambar diagram alir lagi. Apabila Anda kesulitan mem­pelajari algoritma yang disajikan, Anda dapat meng­gambarnya sendiri di atas kertas.

Latihan

  1. Tulislah algoritma untuk mencari luas segitiga jika masukan dari pengguna adalah alas clan tingginya.

Petunjuk: Luas segitiga dapat dihitung dengan rumus:

L = 1/2.a.t

dengan a: alas segitiga dan t: tinggi segitiga.

  1. Tulislah algoritma untuk mencari sisi miring dari suatu segitiga siku-siku jika diketahui panjang dua sisi yang membentuk sudut siku-siku.

Petunjuk: Sisi miring segitiga siku-siku dapat dihitung dengan rumus Pythagoras:

  1. Tulislah algoritma untuk meminta masukan dua bilangan dari pengguna kemudian menampilkan bilangan terbesar di antara kedua bilangan ter­sebut.
  2. Tulislah algoritma untuk meminta masukan tiga bilangan dari pengguna kemudian menampilkan bilangan terkecil di antara ketiga bilangan tersebut.
  3. Tulislah algoritma untuk menampilkan teks “Turbo Pascal” sebanyak 100 kali.
  4. Tulislah algoritma untuk mencari modus dari sekumpulan data yang dimasukkan pengguna.

Petunjuk: Modus adalah data yang paling sering muncul.