BAB 1 Logika Dan Algoritma
BAB 1 Logika Dan Algoritma
Kom
A. Pengantar Tentang Bahasa Pemrograman
Dalam kita mempelajari Materi Logika dan Algoritma, biasanya akan dikaitkan dengan
topik tentang Bahasa Pemrograman, untuk itu kita akan bahas sedikit tentang Bahasa
Pemrograman. Kalau kita bicara tentang Bahasa Pemrograman maka kita akan ingat yang
namanya Program / Aplikasi Komputer.
Nah apa itu PROGRAM ?,
Sebelum kita tahu definisi tentang PROGRAM itu, mari kita simak dulu contoh-contoh
kasus di bawah ini :
Masih ingatkah kalian dengan ujian tertulis yang mungkin selama ini sering kalian
ikuti. Kalau kita telaah secara seksama maka masih banyak kekurangan atau
masalah yang timbul dengan ujian tertulis secara manual, antara lain :
o Boros dengan pemakaian kertas;
o Waktu koreksi yang mungkin akan membutuhkan waktu yang relatif lebih
lama;
o Akuntanbilitas dan Transparansi yang mungkin bisa diragukanl;
o Human Error, kesalahan yang mungkin saja terjadi pada saat Guru
memberikan kunci jawaban;
o dan lain-lain
Dari permasalahan-permasalahan di atas, maka dibuatlah sebuah program
komputer yang dapat memecahkan masalah-masalah di atas.
Dan masih banyak contoh-contoh kasus lainnya yang bisa kita jumpai dalam kehidupan
sehari-hari. Dari contoh kasus di atas maka bisa kita tarik kesimpulan bahwa karena
adanya beberapa masalah-masalah, maka dibuatlah sebuah program / aplikasi
komputer.
TRANSLATOR / PENTERJEMAH :
Khusus untuk jenis bahasa HIGH LEVEL LANGUAGE, agar dapat dilaksanakan atau
dieksekusi oleh komputer, maka instruksi-instruksi yang disusun harus di translate atau
diterjemahkan kepada instruksi yang dikenal oleh komputer (menjadi bahasa mesin).
Untuk itu diperlukanlah sebuah TRANSLATOR / PENTERJEMAH, Dari cara
menterjemahkan dan eksekusinya maka translator / penterjemah dapat dibedakan
menjadi dua jenis, yaitu :
INTERPRETER
Interpreter adalah salah satu jenis penterjemah yang mempunyai cara kerjanya
dengan menterjemahkan setiap instruksi-instruksi itu baris per baris perintah.
Artinya program akan diterjemahkan menjadi bahasa mesin itu baris per baris dan
apabila tidak terjadi kesalahan maka beris-baris perintah tersebut sudah langsung
dieksekusi dan ditampilkan dilayar monitor (bila perlu). Bila dijumpai terjadi
kesalahan (ERROR), maka pada baris perintah tersebut program akan berhenti
dengan menampilkan pesan error pada baris tertentu.
COMPILER
Sedangkan Compiler adalah jenis penterjemah yang cara kerjanya akan
menterjemahkan seluruh perintah secara utuh dari awal perintah sampai akhir
perintah. Jika terjadi kesalahan dalam penulisan perintah, maka program belum
dapat dieksekusi, sehingga user belum bisa melihat hasil apapun di layar monitor,
sampai intruksi tersebut dibenarkan/dikoreksi agar dapat diterjemahkan secara
utuh. Program baru akan dieksekusi, apabila dalam penulisan perintah sudah
100% bebas dari kesalahan.
Logika dan Algoritma adalah dua istilah yang berbeda tapi saling terkait erat. Kata Logika
sering diartikan sebagai pikiran atau akal atau daya nalar seseorang. Logika berasal dari
kata LOGOS dari bahasa Yunani yang ditemukan pertama kali oleh ARISTOTELES.
Pengertian Logika yang sebenarnya adalah Kemampuan manusia untuk berpikir dengan
menggunakan akalnya untuk memecahkan suatu masalah yang menghasilkan sebuah
kebenaran, dapat dibuktikan dan masuk akal.
Logika juga sering dikaitkan dengan kata kecerdasan, seseorang yang memiliki Logika
berpikir yang baik sering disebut dengan PRIBADI CERDAS.
Dari pengertian diatas maka jelas hubungan antara Logika dan Algoritma, Algoritma
adalah suatu usaha/cara untuk membuktikan kemampuan berpikir manusia (logika)
terhadap suatu masalah.
Contoh Kasus :
Diberikan dua gelas (A dan B), gelas A berisi air kopi dan gelas B berisi air teh. Pertukarkan
isi gelas tersebut sehingga menghasilkan gelas A semula berisi air kopi menjadi berisi air
teh dan gelas B yang semula berisi air teh menjadi berisi air kopi.
Penyelesaian:
Secara Logika maka kita akan mengatakan bahwa hal tersebut bisa untuk dilakukan yaitu
menukarkan isi kedua gelas tersebut. Namun untuk membuktikan bahwa hal diatas dapat
dilakukan maka perlu disusun urutan-urutan langkah pemecahannya.
Berikut Algoritmanya:
1. Tuangkan isi gelas A ke gelas C
2. Tungkan isi gelas B ke gelas A
3. Tuangkan isi gelas C ke gelas B
Terbukti !
C. Sifat-Sifat Algoritma
Algortima yang baik menurut Donald E. Knuth, haruslah mempunyai sifat-sifat sebagai
berikut :
1. Finiteness (Keterbatasan).
Algoritma harus berakhir setelah melakukan sejumlah langkah proses artinya
Algoritma harus mempunyai batasan yang jelas.
2. Definiteness (Kepastian) .
Setiap langkah algoritma harus didefinisikan dengan tepat dan jelas sehingga tidak
menimbulkan makna ganda (Ambigu).
3. Input (Masukan)
Sebuah algoritma memiliki satu atau lebih masukan (input) yang diberikan
kepada algoritma sebelum dijalankan
5. Effectiveness (Efektivitas)
Langkah-langkah algoritma dikerjakan dalam waktu yang “wajar”. Apabila
dikaitkan dengan program maka selain waktu, yang juga perlu diperhatikan
adalah penggunaan MEMORI.
D. Struktur Algoritma
Suatu Algoritma dapat terdiri dari tiga struktur dasar, yaitu SEQUENCE, DECISION dan
ITERATION. Berikut Penjelasan ringkas dari tiga struktur tersebut :
A B
(3 * 5) + 5 = 20 3 * (5 + 5) = 30
Dari contoh diatas dapat dilihat ternyata hasil akhirnya dapat berubah apabila
urutan pengerjaannya berbeda.
Jika suatu bilangan habis dibagi 2 Jika suatu bilangan habis dibagi 2
Maka bilangan genap Maka bilangan genap
Jika tidak bilangan ganjil
Tidak ada aturan baku dalam menuliskan algoritma, yang penting mudah dibaca dan
menggunakan bahasa yang mudah dipahami. Meskipun demikian untuk menghindari
kekeliruan, ketaatan terhadap notasi perlu diperhatikan. Terdapat tiga cara yang umum
digunakan dalam menuliskan algoritma yaitu:
Karena pada umumnya Software Bahasa Pemrograman berasal dari Barat maka
dasar dari notasi bahasa deskriptif adalah Bahasa Inggris, namun dapat
dimodifikasi dengan bahasa sehari-hari seperti Bahasa Indonesia, bahkan dengan
menggunakan kalimat deskriptif yang menggunakan dialek-dialek kedaerahan.
Kata kerja adalah jenis kata yang biasa digunakan dalam penulisan bahasa
deskriptif, contohnya tulis, baca, hitung, tampilkan, ulangi, bandingkan, dan lain-
lain.
Pseudo Code
Pseudocode adalah cara penulisan algoritma yang menyerupai bahasa
pemrograman tertentu. Pseudo mempunyai arti semu, imitasi atau tiruan,
sedangkan code menyatakan instruksi-instruksi yang dikenal dalam dunia
pemrograman. Jadi walaupun algortima bentuk ini sudah dituliskan dengan
Contoh Kasus :
Buatlah Algoritma untuk mencari / menghitung luas persegi panjang, jika diketahui
panjang dan lebar persegi panjang di-inputkan melalui keyboard.
Penyelesaian :
1. Mulai
2. Masukkan panjang persegi panjang
3. Masukkan lebar persegi panjang
4. Hitung luas persegi panjang = panjang * lebar
5. Tampilkan Luas persegi panjang
6. Selesai
1. Start 1. Start
2. Input panjang 2. Readln panjang
3. Input lebar 3. Readln lebar
4. Luas = panjang * lebar 4. Luas = panjang * lebar
5. Print Luas 5. Writeln Luas
6. Finish 6. Finish
F. Flowchart
Seperti telah dibahas sekilas tentang Flowchart di atas, bahwa flowchart adalah salah
satu bentuk penulisan algoritma dengan menggunakan gambar / simbol. Simbol-simbol
tersebut dapat dikelompokkan menjadi 3 bagian yaitu :
TERMINATOR
Simbol Awal dan Simbol Akhir Flowchart
PROSES
Perhitungan dan Pengolahan
PREDEFINED PROSES
Sub Program (Procedure atau Fungsi)
PREPARATION
Inisialisasi / Pemberian Nilai Awal
FLOW LINE
Pengambilan Keputusan
ON PAGE CONNECTOR
Penghubung Alur pada halaman yang sama
Contoh Kasus :
Sama seperti contoh kasus di atas, maka bentuk Flowchart nya adalah :
START A
OUTPUT
INPUT LUAS
LEBAR
FINISH
A
START
INPUT
PANJANG, LEBAR
OUTPUT
LUAS
FINISH
Contoh Kasus 2 :
Buatlah Flowchart yang dapat digunakan untuk menghitung Luas dan Keliling Lingkaran,
Jika diketahui jari-jari lingkaran dimasukkan melalui keyboard !
START
phi = 3.14
INPUT
JARI
OUTPUT
K,L
FINISH
Contoh Kasus 3 :
START
INPUT
NUH, NT, NUTS, NUAS
NA = 20/100*(NUH+NT)/2+30/100*NUTS+50/100*NUAS
N
NA >= 75
Y
A B
OUTPUT
KET
FINISH
Perhatikan Bagian Yang Ada Dalam Kotak Dengan Garis putus-putus, dapat
disederhanakan menjadi :
A B
OUTPUT OUTPUT
“TUNTAS” “TIDAK TUNTAS”
FINISH
1. Tiga pasang suami istri yang sedang menempuh perjalanan sampai ke sebuah
sungai. Di situ mereka menemukan sebuah perahu kecil yang hanya bisa
membawa tidak lebih dari dua orang setiap kali menyeberang. Penyeberangan
sungai dirumitkan oleh kenyataan bahwa para suami sangat pencemburu dan
tidak mau meninggalkan istri-istri mereka jika ada lelaki lain. Tulislah algoritma
untuk menunjukkan bagaimanapenyeberangan itu bisa dilakukan.
Buatlah Algoritma di atas dengan menggunakan Bahasa Natural / Kalimat
Deskriptif.
Penyelesaian :
Dari kalimat di atas berarti ada dua opsi pilihan yaitu pembeli yang akan
mendapatkan discount 10% dan ada yang hanya dapat 5%
START
INPUT
TP
N
TP >= 100000
OUTPUT
TP
FINISH
Penyelesaian :
Y
X:-; X<0 X:+; X>0
Y:+; Y>0
Y:+; Y>0 IV I
X
X:+; X>0
X:-; X<0
Y:-; Y<0
III II Y:-; Y<0
START
INPUT
X,Y
Y OUTPUT
X > 0 AND Y > 0
“KUADRAN I”
YN
Y OUTPUT
X < 0 AND Y < 0
“KUADRAN III”
YN
Y OUTPUT
X < 0 AND Y > 0
“KUADRAN IV”
YN
OUTPUT
“KUADRAN II”
FINISH
Untuk Soal 3 dan 4, Silahkan kalian kerjakan sendiri sebagai bahan latihan kalian.
REFERENSI :
https://id.scribd.com/doc/289703115/Buku-Logika-Algoritma
https://id.scribd.com/doc/289703115/Buku-Logika-Algoritma