Pemrograman procedural Dalam perencanaan dan dan terstruktur
2.3.2. Pemrograman procedural Dalam perencanaan dan dan terstruktur
perancangan dari atas ke bawah, Bahasa pemrograman kategori dan penyelesaian masalah prosedural adalah bahasa dimulai dari bagian yang utama pemrograman yang mendukung kemudian dibagi menjadi bagian pembuatan program sebagai yang lebih kecil. Rancangan cara ini
kumpulan prosedur. Prosedur- memudahkan penulisan, pengujian, prosedur ini dapat saling memanggil koreksi dan dokumentasi program. dan dipanggil dari manapun dalam Tahapan rancangan atas ke bawah program dan dapat menggunakan dalam pemrograman:
parameter yang berbeda-beda untuk Tentukan keluaran (output) yang setiap pemanggilan. Prosedur adalah diminta, masukan (input) yang bagian dari program untuk diperlukan dan proses-proses melakukan operasi-operasi yang utama yang diperlukan untuk sudah ditentukan dengan transformasi data.
menggunakan parameter tertentu. Membagi proses utama ke dalam
Bahasa pemrograman terstruktur modul-modul fungsional.
adalah pemrograman yang Buat algoritma msing-masing mendukung abstraksi data, modul, dari modul utama ke sub-
pengkodean terstruktur dan kontrol sub modul.
program terstruktur. Kontrol program Setiap modul dalam proses terstruktur adalah sebagai berikut: rancangan atas ke bawah biasanya
1. Runtun - urut (sequence)
dibatasi dalam isi maupun batasan-
2. Pilihan (selection)
batasan berikut:
3. Pengulangan (repetition - loop) Setiap modul hanya mempunyai
4. Batasan Masalah Merencanakan satu masukan dan keluaran
sistim dan spesifikasi program: Setiap modul hanya mewakili satu
Siapa yang akan menggunakan fungsi program.
program dan untuk apa? dengan Rancangan (design) terstruktur:
cara:
Membagi program menjadi Menentukan tujuan dan hasil subprogram
yang akan dicapai
2008 | Direktorat Pembinaan SMK
Bahasa Pemrograman Bahasa dan Algoritma Pemrograman
Menentukan hal-hal yang bagaimana algoritma penyelesaian
diperlukan oleh sistim masalahnya. Sebelum mengetahui Pengumpulan data
lebih lanjut apa yang dimaksud
5. Pengembangan Model Pembuatan dengan algoritma pemrograman, kita
model dari sistim yang akan kita bahas dahulu apa yang dimaksud bangun, model adalah suatu dengan pemrograman komputer atau gambaran sederhana dari sistim program komputer. yang kita buat. Dengan
Definisi program komputer
pembuatan model akan terlihat adalah sederetan perintah-perintah dengan jelas hubungan antara (instruksi) yang harus dikerjakan oleh objek-objek dalam sistim yang komputer untuk menyelesaikan akan kita bangun. Untuk masalah. Deretan perintah-perintah penyelesaian aritmatik, biasanya tersebut tidak bisa kita tulis secara model dibuat dalam bentuk rumus
sembarangan atau semau kita tetapi
matematik. Contoh: untuk harus teratur agar komputer dapat membuat program luas_lingkaran memahami dan memprosesnya
kita membuat model matematis dengan baik sehingga permasalahan
c = axb yang ada dapat diselesaikan dengan
6. Rancangan algoritma Pembuatan
baik pula.
urutan instruksi yang akan ditulis Untuk itulah diperlukan algoritma
pada program ( dijelaskan lebih karena definisi dari algoritma itu lanjut)
sendiri menurut Microsoft Press
7. Pemrograman
Implementasi
Computer and Internet Dictionary
algoritma ke dalam program (1998) adalah urutan langkah logis (algoritma sendiri dalam komputer
tertentu untuk memecahkan suatu adalah merupakan program).
masalah. Yang ditekankan adalah
8. Uji dan Validasi Pengujian urutan langkah logis, yang berarti terhadap program : seperti algoritma harus mengikuti suatu kesalahan penulisan (syntax error)
urutan tertentu, tidak boleh , kesalahan saat eksekusi (runtime
melompat-lompat dan disusun secara error) kesalahan logika program sistematis. Sedangkan yang (program berjalan tapi dimaksud dengan langkah-langkah menghasilkan output yang salah- logis adalah kita harus dapat fatal error).
mengetahui dengan pasti setiap Dokumentasi Pembuatan catatan langkah yang kita buat. pada program terutama pada modul-
Menurut Sjukani (2005), modul yang rumit.
algoritma adalah alur pemikiran dalam menyelesaikan suatu
2.4. Algoritma
pekerjaan yang dituangkan secara
Pemrograman komputer dan tertulis. Yang ditekankan pertama algoritma pemrograman adalah dua adalah alur pikiran, sehingga hal yang tidak dapat dipisahkan algoritma seseorang dapat berbeda karena pembuatan program dari algoritma orang lain. Sedangkan komputer akan lebih sulit dan lama penekanan kedua adalah tertulis, tanpa mengetahui dengan pasti yang artinya dapat berupa kalimat,
gambar, atau tabel tertentu. Jadi
Direktorat Pembinaan SMK | 2008
Bahasa dan Algoritma Pemrograman Bahasa Pemrorgraman
dapat disimpulkan bahwa algoritma Demikian juga dengan pemrograman lebih merupakan alur pemikiran untuk
komputer, kita juga tidak harus menyelesaikan suatu pekerjaan atau
mengikuti algoritma yang sudah ada, suatu masalah daripada pembuatan tetapi kita dapat menambah ataupun program komputer. Algoritma inilah mengurangi bahkan membuat yang kemudian dijadikan landasan algoritma yang baru asalkan (pedoman) untuk membuat program permasalahan yang ada dapat komputer.
terpecahkan dengan baik. Meskipun algoritma tidak dapat dipisahkan dengan pemrograman komputer tetapi jika anda
2.5. Ciri Algoritma
beranggapan bahwa algoritma identik Oleh karena algoritma digunakan dengan pemrograman komputer, untuk memecahkan suatu
anda salah besar. Hal ini dikarenakan permasalahan maka algoritma dalam kehidupan sehari-haripun tersebut harus menghasilkan suatu seringkali kita berhadapan dengan jawaban atas permasalahan tersebut.
masalah-masalah yang kalau kita Dengan kata lain algoritma harus cermati mengikuti kaidah-kaidah memiliki paling tidak satu keluaran. penyelesaian secara algoritma. Sedangkan masukan dari algoritma Misalkan saja cara-cara memasak dapat nol (tidak ada) atau banyak mie instan, membuat kopi atau teh, masukan (data). Yang dimakdud memasak makanan yang dinyatakan
dengan nol masukan adalah jika dalam bentuk resep, dan masih algoritma itu hanya untuk banyak lagi yang semuanya itu dapat
menampilkan suatu informasi saja. kita sebut sebagai algoritma. Pada Misalnya output “Hello World” yang
mie instan misalnya, biasanya pada sering kita temukan pada tutorial- bungkusnya terdapat urutan langkah-
tutorial saat kita baru belajar langkah bagaimana cara memasak membuat program dari suatu bahasa
atau menyajikannya. Bila langkah- pemrograman tertentu. Kedua hal langkah tersebut tidak logis, maka diatas, memiliki paling sedikit satu
dapat dipastikan bahwa kita akan keluaran dan dapat memiliki nol atau memperoleh hasil yang tidak sesuai banyak masukan, merupakan dua dengan yang diharapkan. Kita harus
dari beberapa ciri algoritma. membaca satu demi satu langkah-
Tugas algoritma dikatakan langkah pembuatannya kemudian selesai kalau algoritma tersebut
mengikutinya agar memperoleh hasil sudah menghasilkan satu atau lebih yang baik.
jawaban atas permasalahan yang Yang harus diingat disini adalah
ada. Dengan demikian setelah kita tidak harus mengikuti langkah-
mengerjakan langkah-langkah langkah yang sudah diberikan, tetapi
penyelesaian masalah, maka kita dapat memodifikasinya atau algoritma tersebut harus berhenti
bahkan membuat resep atau cara tidak melakukan proses apapun. baru yang lebih baik tetapi Berhenti di sini artinya adalah jika menghasilkan hal yang sama diterjemahkan ke dalam bentuk (mempunyai tujuan yang sama), yaitu
program dan program dijalankan, dapat menikmati hasil masakan.
2008 | Direktorat Pembinaan SMK
Bahasa Pemrograman Bahasa dan Algoritma Pemrograman
maka setelah menghasilkan suatu ember B ke ember A? Apakah output, program dapat langsung permasalahan dapat diselesaikan berhenti atau menunggu instruksi dengan cara (algoritma) tersebut? lebih lanjut dari pengguna program Jawabannya adalah tidak, karena seperti mengulang perhitungan lagi, algoritma tersebut tidak logis dan keluar program (menghentikan hasilnyapun tidak sesuai dengan program), dan lain sebagainya. yang diinginkan karena algoritma Dengan demikian ciri ketiga dari tersebut akan menghasilkan ember A algoritma adalah setelah selesai akan berisi campuran air dan minyak mengerjakan langkah-langkah tanah sedangkan ember B akan penyelesaian masalah, algoritma kosong. harus berhenti.
Bagaimanakah cara (algoritma)
Ciri keempat dari algoritma yang benar dari permasalahan adalah setiap langkah yang dibuat tersebut? Algoritma yang benar harus dibuat sesederhana mungkin adalah pindahkan dahulu isi ember A tetapi efektif agar dapat dipahami ke ember lain (misal ember C), oleh pemroses (manusia maupun kemudian setelah ember A kosong komputer) sehingga dapat pindah isi ember B ke ember A. diselesaikan dalam waktu yang Langkah terakhir adalah mengisi singkat serta masuk akal. Sedangkan
ember B dengan minyak tanah yang ciri yang terakhir adalah setiap ada di ember C. Inilah algoritma yang langkah dalam algoritma harus paling logis dan menghasilkan didefinisikan dengan tepat dan jelas jawaban yang benar atas sehingga tidak berarti-dua permasalahan tersebut. (ambiguitas) sehingga menimbulkan
Seperti yang telah dikemukakan kesalahan dalam penafsiran oleh sebelumnya, setiap orang pemroses
mempunyai cara pemecahan sendiri- sendiri sehingga setiap orang dimungkinkan mempunyai algoritma
2.6. Penerapan Algoritma
yang berbeda-beda untuk
Berikut adalah contoh memecahkan suatu permasalahan pemecahan masalah (algoritma) yang sama. Contohnya adalah yang diambil dari permasalahan yang
permasalahan di atas. Langkah mungkin sering kita hadapi dalam pertama bisa saja yang dipindah kehidupan kita sehari-hari. Diketahui
bukan isi ember A ke ember C dulu, dua buah ember A dan B dimana tetapi isi ember B yang dipindahkan ember A berisi air dan ember B berisi
ke dalam ember C terlebih dahulu. minyak tanah. Jika diinginkan isi Setelah itu baru memindahkan isi
kedua ember itu saling ditukar ember A ke dalam ember B dan sehingga ember A berisi minyak terakhir memindah isi ember C ke tanah dan ember B berisi air, ember A. Algoritma ini sedikit bagaimanakah caranya? Apakah berbeda tetapi tetap menghasilkan cukup dengan cara (membuat jawaban yang sama atas persoalan algoritma), tuangkan isi ember A ke
yang ada.
ember B dan kemudian tuangkan isi
Direktorat Pembinaan SMK | 2008
Bahasa dan Algoritma Pemrograman Bahasa Pemrorgraman
tiga buah bilangan yang dimasukkan. Algoritma mempunyai aturan Bagaimanakah algoritmanya? penulisan sendiri yang disebut
2.7. Notasi Algoritma
dengan notasi algoritma. Notasi
algoritma ini tidak tergantung dari
2.8. Deskriptif Algoritma
spesifikasi bahasa pemrograman Algoritma dengan uraian kalimat tertentu dan komputer yang deskriptif adalah notasi algoritma mengeksekusinya. Hal ini yang paling sederhana karena dikarenakan notasi algoritma algoritma ini menggunakan bahasa bukanlah notasi bahasa sehari-hari. Untuk permasalahan pemrograman. Notasi algoritma yang sederhana penggunaan notasi merupakan bahasa universal yang ini sangatlah mudah, akan tetapi dapat diterima oleh semua bahasa untuk permasalahan yang lebih pemrograman yang ada. Oleh sebab
komplek dan rumit, penggunaan itu algoritma yang baik harus dapat notasi ini akan lebih sulit dan sering diterjemahkan ke dalam bentuk kali terjadi ambigu dalam langlah- source code dari semua bahasa langkah penyelesaian masalah. Oleh pemrograman yang ada.
karena itulah untuk kasus-kasus yang
Untuk membuat algoritma dari lebih komplek, penggunaan notasi ini suatu permasalahan, biasanya jarang sekali bahkan tidak digunakan. digunakan salah satu dari tiga buah
Permasalahan di atas, yaitu notasi algoritma yang dikenal, yaitu mencari bilangan terbesar dari tiga uraian kalimat deskriptif, flow chart, buah bilangan yang dimasukkan, atau pseudo code. Sebagai contoh tergolong permasalahan yang permasalahan, jika diinginkan sebuah
sederhana, jadi algoritmanya masih program komputer yang dapat mudah dan dapat dijelaskan dengan mengetahui bilangan terbesar dari uraian kalimat deskriptif sebagai
berikut:
1. Masukkan sembarang bilangan sebanyak tiga buah.
2. Ambil bilangan pertama dan set maksimum‐nya sama dengan bilangan pertama.
3. Ambil bilangan kedua dan bandingkan dengan maksimum.
4. Apabila bilangan kedua lebih besar dari maksimum maka ubah maksimum‐nya menjadi sama dengan bilangan kedua.
5. Ambil bilangan ketiga dan bandingan dengan maksimum.