PRINSIP DASAR
ALGORITME
PEMROGRAMAN
Yuyun Rohmatun, S.Kom.
Algoritme pemrograman merupakan suatu cara
menyelesaikan persoalan dengan menerapkan
logika pemrograman.
Algoritme pemrograman juga memiliki fungsi sebagai berikut :
Memecahkan masalah kompleks dalam pemrograman yang mungkin
juga termasuk penghitungan lanjutan.
Membuat program menjadi lebih efektif dan efisien.
Meminimalkan kesalahan. Jika ada kesalahan, dapat terselesaikan
dengan mudah dan cepat.
Memiliki notasi aliran yang jelas sehingga dapat melihat potensi
kesalahan yang akan terjadi.
1. ALUR LOGIKA PEMROGRAMAN
Dalam pemrograman komputer, algoritme merupakan tahapan logis yang
diruntur untuk menyelesaikan suatu masalah. Penulisan algoritme harus
mengkuti aturan tertentu yang tela disepakati sehingga komputer dan
programmer lain dapat memahami instruksi yang diberikan.
Dalam kehidupan sehari-hari, sering kali dijumpai maalah. Masalah yang
hadir dalam kehidupan tersebut dapat diselesaikan dengan pola mikir
algoritmik.
Sebagai contoh, dalam membuat mie instan urutan langkah-langkah yang
diperlukan untuk membuat mie instan dapat dibuat dengan pola pikir
algoritmik, dimulai dari menyiapkan mie, merebus mie, meletakkan mie
ke mangkuk, dan mengaduk mie dengan bumbu. Urutan langkah-langkah
dalam membuat mie instan tersebut merupakan contoh sederhana cara
berpikir algoritmik dalam menyelesaikan permasalahan sehari-hari.
Algoritme dapat dinyatakan selesai jika telah menghasilkan satu atau
lebih jawaban dari permasalahan yang ada.
Setelah menyelesaikan tahapan menyelesaikan masalah, algoritme
harus berhenti. Algoritme mengatur oeprasi dengan jelas dan tidak
ambigu.
Algoritme adalah pemikiran, teknik, dan memiliki tahapan yang logis
untuk memecahkan suatu masalah.
Penulisan agoritme dapat dilakukan dengan berbagai cara, mulai dari
penggunaan bahasa umum yang dilakukan sehari-hari, representasi
flowchart,sampai menggunakan struktur penulisan bahasa
pemrograman.
2. NOTASI ALGORITME
Notasi algoritme memiliki aturan penulisan sendiri yang disebut
dengan istilah notasi algoritme.
Notasi ni tidak berantung pada speesiikasi bahasa pemograman apa
pun dan komputer yang menjalankanya. Hal ini dikarenakan notasi
algoritme bukanlah notasi bahasa pemrograman.
Notasi algoritme adalah bahasa universal yang dapat diadopsi oleh
semua bahasa pemrograman yang ada. Oleh karena itu, notasi
algoritme yang baik dpat diterjemahkan ke berbagai bahasa
pemrgoraman yang ada.
Metode penulisan notasi algoritme :
a. Metode natural language
Dalam metode natural language, tidak ada standar aturan baku yang menentukan struktur dan
susudan penulisan algoritme. Metode ini menyesuaikan bahasa pembuatnya.
bagian dalam penulisan algortime dengan metode natural language :
1) Header
Header ditulis pada bagian awal algoritme sebagai identitas algoritme. Biasanya berisi
judul, fungsi, atau informasi lainya. Penulisan allur logika program komputer biasnaya diawali
dengan keyword “program”.
2) Deklarasi
Deklarasi adalah bagian dari penulisan algortimr yang mendefinisikan variabel, konstanta,
fungsi dan prosedur yang akan digunakan dalam badan program.
3) Badan algoritme
Badan algoritme adalah bagian yang mendefinisikan baris instruksi dan urutan proses
yang dilakukan, seperti proses komputasi, penyeleksian, perulangan, dan proses lainya.
b. Flowchart (diagram alir)
Flowchart adalah bagan, diagram atau simbol-simbol tertentu yang
menggambarkan urutan proses secara detail dan hubungan antara suatu
proses (instruksi) dan proses lainya dalam suatu program. Notasi
algoritme yang banyak digunakan adalah flowchart. Notasi ini sering
digunkan karena benuknya sederhana dan mudah dimengerti. Secara
umum, flowchart (diagram alir) adalah penggambaran secara grafik dari
langkah-langkah pemecahan masalah yang harus di ikuti oleh pemroses.
Flowchart terdiri atas sekumpulan simbol, dengan setiap simbol
menggambarkan suatu kegiatan tertentu. Flowchart diawali dengan
penerimaan masukan (input), pemrosesan masukan, dan diakhiri dengan
menampilkan hasilnya (output).
Ketika seorang analis atau pemrogram komputer
akan membuat flowchart, ada beberapa hal yang
harus diperhatikan, yaitu :
1) Flowchart digambarkan dari atas ke bawah dan dari kiri ke kanan
2) Aktivitas yang digambarkan dalam flowchart haru sidefinisikan
secara hati-hati dan harus dapat dimengerti oleh pembacanya.
3) Awal dan akhir aktivitas ditentukan dengan jelas.
4) Setiap langkah dari aktivitas harus diuraikan dengan menggunakan
deskripsi kata kerja, misalkan “Menghitung Pajak Penjualan”.
5) Setiap langkah dari aktivitas harus berada pada urutan yang tepat.
6) Lingkup dan arak dari aktivitas harus digambrkan dengan hati-
hati. Percabangan-percabangan yang memotong aktivitas yang
sedang digambarkan tidak perlu digambarkan pada flowchart
yang sama pula. Selain itu, simbol konektor harus digunakan
untuk percabangan yang diletakkan pada halaman terpisah. Anda
juga dapat menghapus atau menghilangkan cabang-cabang yang
tidak berkaitan dengan sistem.
7) Menggunakan simbol-simbol flowchart yang umum.
Flowchart digunakan untuk menggambarkan alur program dari suatu
proses ke proses lainya.
Dengan cara ini, alur program akan lebih mudah dimengerti oleh
semua orang.
Fungsi lain dari flowchart adalah menyederhanakan beberapa
langkah sehingga informasi dapat lebih mudah dipahami. Selain itu,
diagram alir juga dapat digunakan untuk menunjukkan operasi
manual, operasi pemrosesan, atau kedunaya.
c. Metode pseudo-code
Metode pembuatan logika algoritme dengan pseudo-code memiliki
kemiripan dengan penulisan program bahasa pemrograman tertentu,
tetapi tidak merepresentasikan standar penulisan kode sumer.
Sama seperti penggunaan natural language, metode ini tidak
memiliki aturan khusus dalam penulisanya.
Pembuatan struktur algoritme dengan Pseudo-
code harus memiliki beberapa bagian :
1) Header yang berisi informasi judul algritme, komentar, dan
deklarasi.
2) Badan algoritme yang berisi proses logika program
3) Bagian akhir program
4) Deklarasi variabel enggunakan tana titik atau “:”.
5) Assignment atau pernyataan menggunakan format “nama
variabel ← nilai”, contoh x ← 10.
6) Untuk membuat komentar dapat diawali dengan karakter “{“ dan
diakhiri “}”.
Beberapa keyword tertentu yang mendekati bahasa pemrograman
dapat digunakan untuk memperjelas alur logika seperti :
Read untuk menerima inputan
Write untuk mencetak nilai ke layar
While untuk melakukan perulangan selama kondisi bernilai benar
If...then adalah mode penyeleksian.
3. TEKNIK DASAR ALGORITME
UMUM
a. Contoh penyelesaian masalah dengan
algoritme
Misalkan ada dua ember, yaitu, ember A dan ember B.
Ember A berisi air dan ember B berisi minyak tanah. Jika anda ingin
menukar isi dua ember sehingga ember A berisi minyak tanah dan ember B
berisi air, bagaimana caranya?
Apakah cukup dengan membuang isi ember A? Dapatkah metode algoritme
menyelesaikan masalah ini?
Jawabanya adalah tidak.
Mengapa ? hal ini dikarenakan algoritme yang tidak logis dan akan
menghasilkan output yang tidak sesuai dengan yang diingikan.
Output yang dihasikan dari metode tersebut adalah ember A berisi
campuran air dan mnyak tanah, sedangkan ember B kosong.
Lalu, bagaimana metode algoritme yang benar untuk masalah ini?
Langkah pertama adalah isi ember A ditransfer ke ember lain
(misalnya ember C).
Setelah ember A kosong, pindahkan isi ember B ke ember A.
Langkah terakhir adalah mengisi ember B dengan air yang ada di
ember C.
Algoritme tersebut adalah algoritme yang paling logis dan efisien
untuk menghasilkan output yang sesuai dengan keinginan.
Seperti yang dijelaskan sebelumnya, setiap individu tentunya memiliki
cara mereka sendiri untuk menyelesaikan suatu masalah. Oleh karena itu,
mungkin saja setiap orang menggunakan algoritme yang berbeda untuk
menyelesaikan masalah yang sama, contohnyaadalah masalah menukar
isi ember tersebut.
Sebagai contoh, untuk langkah pertama dapat jadi, alilh-alih
memindahkan isi ember A ke ember C, isi ember B terlebih dahulu
dipindahakan ke ember C.
Setelah itu, anda cukup memindahkan isi ember A ke ember B dan
terakhir mentransfer isi ember C ke ember A.
Algoritme ini sedikit berbeda tetapi tetap memberikan jawaban yang
sama untuk masalah tersebut.
b. Menggambarkan algoritme pemecahan
masalah dengan flowchart
Sebelumnya, anda sudah belajar cara memecahkan masalah dengan
algoritme.
Algoritme tersebut dapat digambarkan dengan notasi flowchart.
Sebagai contoh, pada kasus menukar isi ember A ke ember B
tersebut.
Langkah-langkahnya adalah meindahkan isi ember A ke ember C
terlebih dahulu. Setelah itu, pindahkan isi ember A ke ember B dan
terakhir mentransfer isi ember C ke amber A.
c. Membuat algoritme pemecahan masalah
dengan Pseudo-code
Program tukar_isi_ember
(Algoritme ini digunakan untuk menukar isi ember A ke ember B)
Deklarasi
Ember_A;
Ember_B;
Ember_C;
Algoritme
Ember_A ← air
Ember_B ← minyak
Ember_C ← kosong
Move(ember_C ← ember_A)
Move(ember_A ← ember_B)
Move(ember_B ← ember_C)
Show(ember_A)
4. VARIAN DAN INVARIAN
Varian adalah aliran logika yang digunakan sebelum membuat
program. Adapun invarian adalah tipe logika algoritme luar (bagian
kerja/program) yang digabungkan.
Selain itu, varian tidak memiliki tipe data, sedangan invarian
memiliki tipe data.
a. Identifier
Identifier adalah nama yang digunakan dalam pemrograman untuk
mengumumkan faktor, konstanta, jenis informasi, kapasitas, dan
metodologi. Informasi adalah komponen yang digunakan untuk
menggambarkan segalasesuatu yang memiliki batas (size/esteem).
Sebagai contoh, jumlah berupa bilangan desimal 42,5 (artinya 42½)
dan nama pekerja dapat berupa orang A.
b. Variabel
Variabel adalah tempat untuk mengisi nilai tertentu yang dapat
dipanggil kembali saat diperlukan. Variabel memiliki nilai yang
dapat berubah-ubah,
Contoh pengggunaan variabel adalah sebagai berikut :
1) Username = “Johan”
2) Nama = “Pensil”
3) Harga = 2500
4) hargaTotal = 34000
c. Konstanta
Konstanta adalah tipe data yang nilai informasinya tetap dan
tidak dapat berubah.
Contoh :
Anda membuat program penghitungan matematika yang
menggunakan nilai Pi (ℿ). Pi adalah salah satu contoh konstanta
dalam amtematika yang nilainya tetap (3,12159...).
d. Tipe data
Tipe data adalah jenis-jenis data yang dapat dimanipulasi oleh
komputer, guna memenuhi kebutuhan pemrograman komputer.
Kecermatan dalam pemilihan tipe data variabel atau konstan akan
sangat menentukan penggunaan sumber daya perangkat komputer
(khususnya memori) berikut adalah pengelompokkan tipe data
secara umum
1) Tipe primitive (tipe data dasar)
Tipe data primitif adalah tipe data atau bawaan dari bahasa pemrograman.
a) Tipe data numeric
Numeric adalah tipe data berupa bilangan dalam bentuk bulat
(integer) atau pecahan (float).
Contoh :
Angka 1 adalah integer
Angka 12,5 adalah float
b) Tipe data character
Character adala tipe data berupa karakteryang terdiri atas
alfanumeric, spasi, dan simbol khusus. Berikut merupakan tipe data
character :
Huruf alfabet (a, b, ...z;A, B, ... Z)
Angka (0, 1, 2, ... 90
Tanda baca (, . ; ! ?)
Operator aritmatika (+, -, *, /)
Karakter simbol (“$”. “#”, “@”. “^”)
c) Tipe data boolean
Boolean adalah tipe data yang menyimpan dua nilai, yaitu True atau
False.
2) Tipe composite (tipe data bentukan)
Tipe data composite adalah tipe data bentukan yang dapat mengalokasikan
banyak nilai pada tiap variabelnya.
a. Tipe data array
Tipe data array adalah tipe data yang dapat menampung
sekumpulan elemen yang mempunyai tipe data yang sama.
Berikut adalah contoh array.
Nilai[5] : integer (array satu dimensi menampung 5 data
integer)
Nilai[5][2] : integer (array dua dimensi menampung data
integer sebanyak 5 baris dan 2 kolom).
b. Tipe data record
Tipe data rekaman atau record adalah tipe data yang dapat
menampung beberapa tipe data berbeda dalam satu variabel atau
array.
Nama tipe data rekaman ditentukan oleh programmer.
c. Tipe data image
Tipe data image adalah tipe data yang berfungsi menyimpan data gambar
d. Tipe data date time
Tipe data date time adalah tipe data yang berfungsi menyimpan data
yang berkaitan dengan tanggal waktu.
e. Tipe data lainya, antara lain sebagai
berikut :
Tipe data subrange, yaitu tipe data bilangan yang memiliki
jangkauan tertentu.
Tipe dara enumerasi, yaitu tipe data yang memiliki banyak
elemen yang harus disebut satu per satu.