Anda di halaman 1dari 143

LOGIKA INFORMATIKA

Oleh:
Suraya

Teknik Informatika
Fakultas Teknologi Industri
Institut Sains & Teknologi AKPRIND
Yogyakarta
2019

i
ii
PRAKATA

Perkembangan ilmu komputer yang sangat cepat dewasa ini perlu diimbangi
dengan pengetahuan dasar teorinya. Buku ini membahas logika dasar pemrograman.
Algoritma penyelesaian masalah, serta implementasinya pada pemrograman.

Buku ini akan menjelasakan tiga hal utama pada konsep pemrograman
komputer. Pertama, akan dijelaskan pengetahuan dasar logika pemrograman yang
meliputi logika proposisional, dan predikat yang merupakan dasar dari pemrograman
komputer, serta logika kombinasional sebagai dasar pada perancangan komputer.
Kedua, akan dijelaskan algoritma yang merupakan langkah awal dalam kegiatan
pemrograman komputer. Ketiga, akan diberikan implementasi dari suatu algoritma
pada pemrograman komputer dengan bahasa QBasic sebagai bahasa pemrograman
yang paling mudah dipahami oleh para pemula di dunia pemrograman.

Pada kesempatan ini, penulis mengucapkan terima kasih kepada keluarga atas
kebersamaan dan dukungannya. Penulis juga berterima kasih pada Ketua BP2AI
Institut Sains & Teknologi AKPRIND Yogyakarta, Ir. Saiful Huda, MT., M.E. dan
teman-teman dosen yang telah memberikan dorongan dan dukungannya dalam
penyelesaiaan buku ini.

Akhir kata, mudah-mudahan buku ini dapat memberikan manfaat bagi siapa
saja yang membutuhkannya.

Yogyakarta, Mei 2020

Suraya

iii
DAFTAR ISI

HALAMAN JUDUL ……………………………………………………………. i


PENGESAHAN ………………………………………………………………… ii
PRAKATA ..…………………………………………………………………….. iii
DAFTAR ISI …………………………………………………………………….. iv
BAB 1. LOGIKA INFORMATIKA
1.1. Kompetensi Dasar ………………………………………………………… 1
1.2. Pendahuluan ……………………………………………………………… . 1
1.2.1 Pengertian Umum Logika ...………………………………………… 2
1.3. Logika Proposional Dan Predikat ………………………………………. 4
1.3.1 Definisi proposisi (propositions) ……………………………………. 4
1.3.2 Definisi Kalimat (sentences) …..……………………………………. 4
1.3.3 Notasi (Natation) ……………………………………………………. 7
1.3.4 Interpretasi (Interpretation) ……………………………….............. 7
1.3.5 Aturan Semantik (Semantic Rule) …………………………………. 8
1.3.6 Tabel Kebenaran (Truth Table) ..………………………………….. 14
1.4 Ingkaran (Negasi) Suatu Penyataan ….….……………………………. 15
1.4.1 Negasi Suatu Konjungsi …………..…………………………....... 15
1.4.2 Negasi Suatu Disjungsi .................................................................... 16
1.4.3 Negasi Suatu Implikasi .................................................................... 16
1.4.4 Negasi Suatu Biimplikasi ……………………………….…….….. 16
1.5 Tautologi, Kontradiksi, Dan Contingent ….………………….……..…. 16
1.6 Konvers, Invers, Dan Kontraposisi ………….…………….……….….. 18
1.7 Ingkaran Konvers, Invers, Dan Kontraposisi ......................................... 19
1.8 Ekuivalensi Logika ................................................................................... 20
1.8.1 Hukum-Hukum Ekuivalensi Logika …..……………………..….. 22
1.8.2 Penyederhanaan Logika .................................................................. 23
1.9 Inferensi Logika ......................................................................................... 25
1.9.1 Aturan Penarikan Kesimpulan ....................................................... 25
1.9.1.1 Argumen Valid Dan Invalid ................................................ 25
1.9.1.2 Metode Inferensi (Inference Method) …………….…..…... 27
1.9.2 Kalimat Berkuantor (Quantifier Sentence) …..…………………... 32
1.9.2.1 Kuantor Universal (Universal Quantifier) …………………. 32

iv
1.9.2.2 Kuantor Eksistensial (Existensial Quantifier) …………….. 34
1.10 Logika Kombinasional …………………………………………………. 40
BAB 2. GERBANG LOGIKA
2.1 Kompetensi Dasar ……………………………………………………….. 41
2.2 Pengertian Gerbang Logika …………………………………………….. 41
2.3 Jenis-jenis Gerbang Logika Dasar dan Penyelesaiannya …………….. 41
2.4 Peta Karnaugh ……...……………………………………………………. 51
2.5 Pohon Semantik (Semantic Tree) …..………………………………….… 57
2.6 Pembuktian Dengan Falsifikasi (Proof by falsicification) ..………….… 60
2.7 Skema Kalimat Valid (Valid Sentence Schemata) …….……………..…. 62
2.8 Konjungsi dan Disjungsi Multi (Multiple Conjunction and
Disjunction) ………………………………………………………….…… 64
2.9 Substitusi (Substitution) .…………….…………………………………… 65
2.9.1 Definisi Substitusi Parsial (Partial Substitution) .………………… 67
2.9.2 Substitusi Multi (Multiple Subsitutión) …………………………… 68
2.9.3 Substitusi Multi Total (Total Multiple Substitution) …………..…. 68
2.9.4 Substitusi Multi Parsial (Partial Multiple Substitution) .……….… 69
2.9.5 Interpretasi Diperluas (Extended Interpretation) …………………. 70
2.9.6 Kesepakatan (Agreement) ………………………………………… 72
2.9.7 Proposition (agreement) ……………………………………………. 72
2.9.8 Catatan (Remark) …..……………………………………………… 73
2.10 Ekuivalensi (Equivalence) ……………………………………………….. 73
2.10.1 Implikasi dan Validitas (Implication and Validity) ….………….. 73
2.10.2 Proposition (Implikasi dan Validitas) ……………………………. 73
2.10.3 Ekuivalensi dan Validitas (Equivalence and Validity) …………... 74
2.10.3.1 Proposition (ekuivalensi dan validitas)…………………… 74
2.10.3.2 Rantai Ekuivalensi (Chains Of Equivalences) …………… 74
BAB 3 RELASI DAN FUNGSI
3.1 Relasi …..….………………………………………………………………… 78
3.1.1 Relasi Biner ………………………………………………………….. 78
3.1.2 Representasi Relasi ….………………………………………………. 79
3.1.3 Sifat-Sifat Relasi Biner ……………………………………………... 81
3.1.4 Komposisi Relasi ……………………………………………………. 84
3.2 Fungsi ……………………………………………………………………… 85
3.3 Balikan (Invers) ………………………………………………….………… 89
3.4 Komposisi ..…..…………………………………………………………….. 89
BAB 4. ALGORITMA
4.1 Kompetensi Dasar ..……………………………………………………..… 91
v
4.2 Pendahuluan ….…………………………………………………………… 91
4.3 Pengertian Algoritma .….…………………………………………………. 92
BAB 5. ELEMEN DASAR PEMROGRAMAN
5.1 Kompetensi Dasar ..………………………………………………………. 98
5.2 Pendahuluan ..…………………………………………………………….. 98
5.3 Tipe Data, Variabel, danKonstanta ….…………………………………. 101
5.4 Operator ………………………………………………………………….. 101
BAB 6. BAHASA PEMROGRAMAN
6.1 Kompetensi Dasar .………………………………………………………. 104
6.2 Bahasa Pemograman Qbasic ….……………………………………….... 104
6.3 Perintah Dasar Qbasic …………………………………………………… 107
BAB 7. PEMROGRAMAN
7.1 Kompetensi Dasar ………………………………………………………... 114
7.2 Struktur Runtunan ………………………………………………………. 114
7.3 Struktur Percabangan …………………………………………………… 116
7.4 Struktur Perulangan ……………………………………………………... 119
BAB 8. SUBRUTIN DAN REKURSI
8.1 Kompetensi Dasar ………………………………………………………... 130
8.2 Subrutin …………………………………………………………………… 130
8.3 Rekursi ……………………………………………………………………. 132
DAFTAR PUSTAKA .………………………………………………………..…. 136
BIOGRAFI PENULIS .…………………………………………………………. 137

vi
BAB 1
DASAR-DASAR LOGIKA INFORMATIKA

1.1. Kompetensi Dasar


Matakuliah ini memberikan suatu metode atau cara yang sistematis dalam
berpikir (reasoning). Terdapat dua metode cara berpikir yang digunakan, yaitu Logika
Proposisi dan Logika Predikat. Dengan menggunakan logika, diharapkan dapat
mengurangi tindakan menebak dalam menghadapi dan menyelesaikan suatu masalah
sehingga masalah tersebut dapat diselesaikan dengan suatu jawaban yang dikerjakan
dengan sistematis. Cara berpikir dengan dasar logika ini dapat dijadikan program dan
dilaksanakan oleh komputer sehingga komputer dapat melakukan kemampuan
”berpikir” walaupun secara sederhana. Diharapkan mahasiswa dapat
menggunakannya sebagai dasar untuk belajar bahasa pemrograman, struktur data,
kecerdasan buatan, teknik/sistem digital, basis data, rekayasa perangkat lunak, sistem
pakar, jaringan saraf tiruan dll.
1.2. Pendahuluan
Berpikir merupakan aktivitas manusia untuk menemukan pengetahuan yang
benar, sedang kebenaran itu tidaklah persis sama pada setiap individu. Maka setiap
jalan pikiran manusia mempunyai kriteria kebenaran yang berfungsi sebagai landasan
proses penemuan kebenaran tersebut, dan setiap penalaran mempunyai kriteria
kebenaranya masing-masing.
Aktivitas berpikir sebagai penalaran manusia mempunyai ciri utama sebagai
suatu pola berpikir yang secara luas disebut logika. Dalam mempelajari pola berpikir
yang luas dalam logika itulah dibutuhkan terlebih dahulu tentang apa itu logika dan
ruang lingkupnya karena hal ini akan membantu dasar pemikiran yang berdasarkan
penalaran yang logis dan kritis. selain berguna bagi sarana ilmu, penalaran yang logis
dan kritis ini juga yang nantinya akan mambantu pemahaman bagi semua ilmu,
karena penalaran yang logis, kritis, dan sistematis inilah yang menjadi salah satu
syarat sifat ilmiah.
Manusia berbeda dengan binatang, salah satu perbedaannya adalah manusia
memiliki bahasa dan akal pikiran, dengan bahasa dan akal pikirannya itu sehingga ia
mampu mengkomunikasikan dan mengembangkan pengetahuannya dengan cepat dan
mantap. Manusia dalam mengkomunikasikan dan mengembangkan pengetahuannya
itu harus didukung dengan kemampuan penalaran (reasoning) dan perbincangan

1
(argument). Untuk itu, diperlukan logika untuk mengetahui sesuatu yang benar.
Untuk memahami apa itu logika? dapat dilihat pada uraian berikut ini.
1.2.1 Pengertian Umum Logika
Logika berasal dari perkataan Yunani yaitu logike (kata sifat) dan logos (kata
benda), yang berarti “pikiran atau perkataan sebagai pernyataan dari pikiran, alasan
atau uraian”. Dengan demikian, logika merupakan pekerjaan akal pikiran manusia
dalam bernalar untuk menghasilkan kebenaran atau penyimpulan yang benar. Sebagai
ilmu, disebut logica scientia yang berarti ilmu logika, namun sekarang ini hanya
lazim disebut dengan logika saja. Jadi, logika adalah suatu ilmu pengetahuan tentang
prinsip-prinsip dan norma-norma penyimpulan yang dipandang dari aspek yang benar
(sahih). Ada yang berpendapat bahwa logika adalah ilmu dalam lingkungan filsafat
yang membahas prinsip-prinsip dan hukum-hukum penalaran yang tepat. Ada juga
yang menandaskan bahwa logika adalah ilmu pengetahuan (science) tetapi sekaligus
merupakan kecakapan atau keterampilan yang merupakan seni (art) untuk berpikir
secara lurus, tepat, dan teratur. Dalam hal ini, ilmu mengacu pada kemampuan
rasional untuk mengetahui, sedangkan kecakapan atau keterampilan mengacu pada
kesanggupan akal budi untuk mewujudkan pengetahuan ke dalam tindakan. Selain itu,
ada juga ahli yang berpendapat bahwa logika adalah teknik atau metode untuk
meneliti ketepatan berpikir. Jadi logika tidak terlihat selaku ilmu, tetapi hanyalah
merupakan metode. Ada pula yang mengatakan bahwa logika adalah ilmu yang
mempersoalkan prinsip-prinsip dan aturan-aturan penalaran yang sahih (valid).
Berdasar dari pengertian logika yang diuraikan di atas, dapat dikatakan bahwa
logika merupakan cabang filsafat yang mempelajari, menyusun, mengembangkan,
dan membahas asas-asas, aturan-aturan formal, prosedur-prosedur, serta kriteria yang
sahih bagi penalaran dan penyimpulan demi pencapaian kebenaran yang dapat
dipertanggungjawabkan secara rasional.
Hubungan Matematika dan Logika
Menurut RUDOLF CARNAP (1931)
 Konsep matematika dapat diturunkan dari konsep-konsep logika dengan melalui
batasan-batasan yang jelas.
 Dalil-dalil matematika dapat diturunkan dari aksioma-aksioma logika dengan
perantara deduksi logis secara murni.
Menurut BETRAND RUSSEL

2
 Logika adalah masa muda matematika dan matematika adalah masa dewasa
logika.
Hubungan Logika dan Komputer
Arsitektur sistem komputer tersusun atas rangkaian logika 1 (true) dan 0
(false) yang dikombinasikan dengan sejumlah gerbang logika AND, OR, NOT, XOR,
dan NAND.
Program komputer berjalan di atas struktur penalaran yang baik dari suatu
solusi terhadap suatu permasalahan dengan bantuan komponen program
IF…THEN…ELSE, FOR…TO…DO, WHILE, CASE…OF.
William Alston, mendefinisikan logika sebagai Logic is the study of
inference, more precisely the attempt to devise criteria for separating valid from
invalid inferences (logika adalah studi tentang penyimpulan, secara lebih cermat
usaha untuk menetapkan ukuran-ukuran guna memisahkan penyimpulan yang sah
dan yang tidak sah).
Sheldon Lachman, mengemukakan: Logic is the systematic discipline
concerned with the organization and development of the formal rules, the normative
prosedures and the criteria of valid inference (logika adalah cabang ilmu yang
sistematis mengenai penyusunan dan pengembangan dari aturan formal, prosedur
normatif, dan ukuran-ukuran bagi penyimpulan yang sah).
Jan Hendrik Rapar, (1996:10) “Logika adalah cabang filsafat yang
mempelajari, menyusun, mengembangkan, dan membahas asas-asas, aturan-aturan
formal, prosedur-prosedur serta kriteria yang sahih bagi penalaran dan penyimpulan
demi mencapai kebenaran yang dapat dipertanggungjawabkan secara rasional”.
Ir. Poedjawijatna, logika adalah filsafat budi (manusia) yang mempelajari
teknik berpikir untuk mengetahui bagaimana manusia berpikir dengan semestinya.
Hasbullah Bakry, logika adalah ilmu pengetahuan yang mengatur penelitian
hokum-hukum akal manusia sehingga menyebabkan pikirannya dapat mencapai
kebenaran.
E. Sumaryono(1999:71),“Logika adalah ilmu pengetahuan dan keterampilan
untuk berpikir lurus”
Louis O. Kattsoff (1987:28) Logika ialah ilmu pengetahuan mengenai
penyimpulan yang lurus. Ilmu pengetahuan ini menguraikan tentang aturan-aturan
serta cara-cara untuk mencapai kesimpulan, setelah didahului oleh suatu prangkat
premise.
3
Bakhtiar (2004:212) Logika adalah sarana untuk berpikir sistematik, valid
dan dapat dipertanggungjawabkan. Karena itu, berpikir logis adalah berpikir sesuai
dengan aturan-aturan berpikir, seperti setengah tidak boleh lebih besar daripada satu.
Berdasar dari pengertian logika yang diuraikan di atas, dapat dikatakan bahwa
logika merupakan cabang filsafat yang mempelajari, menyusun, mengembangkan,
dan membahas asas-asas, aturan-aturan formal, prosedur-prosedur, serta kriteria yang
sahih bagi penalaran dan penyimpulan demi pencapaian kebenaran yang dapat
dipertanggungjawabkan secara rasional.
1.3 Logika Proposional dan Predikat
Bahasa (Language), Seperti halnya bahasa pada umumnya, maka logika
proposisional terdiri dari kalimat-kalimat khususnya kalimat abstrak (abstract
sentence).
1.3.1 Definisi proposisi (propositions)
Proposisi (pernyataan) adalah komponen dasar pembentuk kalimat logika
(sentence) dalam logika proposional. Adapun kalimat yang dibentuk dari proposisi
disebut kalimat deklaratif, yaitu kalimat yang dapat ditentukan nilai kebenarannya,
true atau false, tetapi tidak keduanya sekaligus.
Logika proposional adalah logika dasar pada pemrograman yang harus
dipahami oleh para programmer, karena logika dasar inilah yang menjadi dasar
penentuan nilai kebenaran dari suatu pernyataan, yaitu true (benar) atau false (salah)
pada pengujian kondisi dalam pemrograman.
Pada bab ini akan disajikan suatu bahasa kalimat abstrak yang disebut logika
proposional (proposition logic), serta akan diberikan aturan-aturan apakah kalimat
tersebut bernilai valid atau tidak.
Beberapa pernyataan (statement) dapat langsung diterima kebenarannya tanpa
harus diketahui kebenaran pembentuk-pembentuknya, seperti pernyataan berikut:
“Jawa memiliki jumlah balita lebih banyak dibanding Sumatera atau Jawa memiliki
jumlah balita lebih sedikit dibanding Sumatera”.
Kalimat di atas langsung dapat diterima kebenarannya tanpa harus ada orang
yang datang ke Jawa dan Sumatera untuk membuktikan apakah jumlah balita di Jawa
memang lebih banyak dari Sumatera, atau sebaliknya.
Kalimat tersebut merupakan contoh dari kalimat abstrak
p or (not p)

4
kalimat abstrak adalah “valid” jika bernilai benar tanpa perlu memperdulikan
kebenaran atau kesalahan dari proposisi-proposisi penyusunnya. Contoh lain dari
kalimat yang juga “valid” adalah:
not (p and (not p)) or q
1.3.2 Definisi kalimat (sentences)
Kata merupakan rangkaian huruf yang mengandung arti, sedangkan kalimat
adalah kumpulan kata yang disusun menurut aturan tata bahasa dan mengandung arti.
Di dalam matematika tidak semua pernyataan yang bernilai benar atau salah saja yang
digunakan dalam penalaran. Pernyataan disebut juga kalimat deklaratif yaitu kalimat
yang bersifat menerangkan. Disebut juga proposisi.
Pernyataan/ Kalimat Deklaratif/ Proposisi adalah kalimat yang bernilai benar atau
salah tetapi tidak keduanya.
Proposisi (pernyataan) dalam kalimat logika dinyatakan dengan symbol-
simbol proposisi, yaitu:
- Simbol atau nilai kebenaran (truth value) yaitu true dan false
- Symbol-simbol proposional (propotional symbols), yaitu huruf-huruf p, q, r, s, t,
….
Berikut ini adalah beberapa contoh proposisi (pernyataan):
 Yogyakarta adalah ibukota Negara Indonesia
 Jumlah penduduk Malaysia lebih banyak dari jumlah penduduk Indonesia
 Indonesia mengalami 6 kali pergantian presiden
 3 adalah bilangan prima yang pertama
 15 habis dibagi dengan 3
Kalimat-kalimat di atas adalah kalimat deklaratif karena dapat diketahui nilai
kebenarannya (truth value), yaiti true atau false. Kalimat contoh “Yogyakarta adalah
ibukota Negara Indonesia” bernilai false karena ibukota negara Indonesia adalah
Jakarta.
Sebaliknya, kalimat yang tidak dapat ditentukan nilai kebenarannya, baik true
maupun false, disebut kalimat terbuka (bukan proposisi). Sebagai perbandingan,
berikut adalah contoh kalimat terbuka:
 Apakah hari ini ada ujian?
 X+5>10
 Herlya habis dibagi dengan 5
 Angka 10 dan angka 100 sudah saling menyayangi
5
 Heri sangat mencintai angka 9
Kalimat-kalimat dalam logika proposisional dibangun dari proposisi-proposisi
dengan menerapkan propositional connectives:
not, and, or, if-then, if-and-only-if, if-then-else
Kalimat dibentuk menurut aturan-aturan (rules) berikut:
 setiap proposisi, yaitu suatu simbol kebenaran atau suatu simbol proposisi
merupakan kalimat.
 apabila F kalimat, maka demikian juga negasi (negation) nya (not F).
 apabila F dan G kalimat, maka demikian juga konjungsi (conjunction) nya,
yaitu (F and G), selanjutnya F maupun G disebut conjuncts dan (F and G).
 apabila F dan G kalimat, maka demikian juga disjungsi (disjunction) nya,
yaitu (F or selanjutnya F maupun G disebut disjuncts dan (F or G)).
 apabila F dan G kalimat, maka demikian juga implikasi (implication) nya,
yaitu (if F then G). Selanjutnya F disebut antecedent dan G disebut
consequent dan (if F then G). Kalimat (if G then F) disebut converse dan
kalimat (if F then G).
 apabila F dan G kalimat, maka demikian juga ekuivalensi (equivalence) nya,
yaitu (F f and onfy f G), selanjutnya F disebut sisi-kiri (left-hand side) dan G
disebut sisi-kanan (right-hand side) dan (F if and only if G).
 apabila F, G dan H kalimat, maka demikian juga kondisional (conditional)
nya, yaitu (if F then G else H). Selanjutnya F, G, dan H masing-masing
disebut klausa-if (if clause), klausa-then (then-cause), dan klausa-else (else-
clause) dan kondisional (if F then G else H).
Contoh 1.1 (Kalimat)
Ekspresi berikut
E: ((not(P or Q)) if and onfy if ((not P) and (not Q))) merupakan kalimat,
karena
P dan Q
keduanya merupakan kalimat, jadi (P or (not P)), dan (not Q)
merupakan kalimat,
sehingga (not (P or Q)) and ((not P) and (not Q)) merupakan kalimat,
jadi ekspresi E, ((not (P or Q) if and onfy if ((not P) and (not Q)),
merupakan kalimat.

6
1.3.3 Notasi (Natation)
Seringkali, beberapa kalimat perlu digabungkan untuk menjadi kalimat yang lebih
panjang. Misalnya kalimat “8 adalah bilangan genap dan 9 habis di bagi 3”,
merupakan gabungan dari kalimat “8 adalah bilangan genap” dan kalimat “9 habis di
bagi 3”.
Dalam logika proposisional dikenal 6 macam penghubung (connective), yaitu not,
and, or, if-then, if-and-only-if, serta if-then-else. Berikut adalah notasi dari
penghubung pada logika proposisional:
Dalam logika proposional dikenal 5 buah penghubung:
Simbol Arti Bentuk
¬ Tidak/Not/Negasi Tidak………….
∧ Dan/And/Konjungsi ……..dan……..
∨ Atau/Or/Disjungsi ………atau…….
→ Implikasi/if-then Jika…….maka…….
↔ Bi-Implikasi/if-and-only-if …bila dan hanya bila…
tidak ada if-then-else Jika...maka…yang lain...

Contoh penulisan dengan notasi konvensional dari kalimat:


(if ((p or q) and (if q then r)) then (if (p and q) then (not r)))
Adalah:
((p˅q) ˄ (q→r)) → ((p˄q) → ¬r)
1.3.4 Interpretasi (Interpretation)
Interpretasi adalah pemberian (assignment) nilai kebenaran (true atau false) pada
setiap simbol proposisi dari suatu kalimat logika. Sebagai contoh, perhatikan kalimat:
not p or q
Salah satu interpretasi untuk kalimat di atas member nilai false ke p dan nilai true ke
q. Interpretasi terhadapt nilai p dan q dapat ditulis:
p ← false
q ← true
semua kemunculan dari suatu symbol proposional dalam kalimat logika akan diberi
nilai sama oleh suatu interpretasi yang diberikan, sebagai contoh kalimat:
not p and (not q) or p

7
dua kemunculan p masing-masing akan diberi nilai sama. Demikian juga kemunculan
terhadap proposisi q.
1.3.5 Aturan Semantik (Semantic Rule)
Aturan semantik adalah suatu aturan yang digunakan untuk menentukan arti suatu
kalimat logika atau nilai kebenaran (truth value) dari suatu kalimat (sentence).
Berikut adalah aturan-aturan semantik untuk kalimat logika:
1) Negation Rule (aturan NOT)
Jika p adalah “ Semarang ibukota Jawa Tengah”, maka ingkaran atau negasi dari
pernyataan p tersebut adalah ¬p yaitu “ Semarang bukan ibukota Jawa Tengah”
atau “Tidak benar bahwa Semarang ibukota Jawa Tengah”. Jika p diatas bernilai
benar (true), maka ingkaran p (¬p) adalah bernilai salah (false) dan begitu juga
sebaliknya.
p ¬p
True False
False True

2) Conjunction Rule (aturan AND)


Konjungsi adalah suatu pernyataan majemuk yang menggunakan penghubung
“DAN/AND” dengan notasi “∧”
Contoh 1.3:
p: Fahmi makan nasi
q: Fahmi minum kopi
Maka p∧q : Fahmi makan nasi dan minum kopi
Pada konjungsi p∧q akan bernilai benar jika baik p maupun q bernilai benar. Jika
salah satunya (atau keduanya) bernilai salah maka p∧q bernilai salah.
p q p˄q
True True True
True False False
False True False
False False false

8
Konjungsi bernilai benar (true) apabila kedua proposisi penyusunnya bernilai
benar (true). Apabila salah satu proposisi penyusunnya bernilai salah, atau
bahkan keduanya bernilai salah (false), maka konjungsi bernilai salah (false).
3) Disjunction Rule (aturan OR)
Disjungsi adalah pernyataan majemuk yang menggunakan penghubung
“ATAU/OR” dengan notasi “∨”.
Kalimat disjungsi dapat mempunyai 2 arti yaitu :
a) Inclusive-OR (Aturan Atau)
Yaitu jika “p benar atau q benar atau keduanya true”
Contoh :
p : 7 adalah bilangan prima
q : 7 adalah bilangan ganjil
p ∨ q : 7 adalah bilangan prima atau ganjil
Benar bahwa 7 bisa dikatakan bilangan prima sekaligus bilangan ganjil.
p q pvq
True True True
True False True
False True True
False False false

Disjunction bernilai salah (false) apabila kedua proposisi penyusunnya


bernilai salah (false). Apabila salah satu proposisi penyusunnya bernilai benar,
atau bahkan keduanya bernilai benar (true), maka disjungsi bernilai benar
(true).
b) Exclusive-OR (Aturan XOR)
Menggabungkan dua proposisi untuk membentuk logika “exclusive or”-nya.
Perhatikan bahwa p⊕q berarti p benar, atau q
benar tapi tidak dua-duanya benar!
Disebut exclusive or, karena tidak memungkinkan p dan q keduanya benar
p q p⊕q
False False False
True False True
False True True
True True False

9
Dari aturan disjungsi dan konjungsi, muncul sifat-sifat aljabar logika, yaitu:
 Hukum Idempoten
p∨p ⇔ p
p∧p ⇔ p
 Hokum komutatif
p∨q ⇔ q∨p
p∧q ⇔ q∧p
 Hokum Asosiatif
(p∨q)∨r ⇔ p∨(q∨r)
(p∧q)∧r ⇔ p∧(q∧r)
 Hokum Distribusif
p∨(q∧r) ⇔ (p∨q)∧(p∨r)
p∧(q∨r) ⇔ (p∧q)∨(p∧r)
 Hokum Identitas
p∨false ⇔ p
p∧true ⇔ p
p∨true ⇔ true
p∧false ⇔ false
 Hokum Komplemen
p∨¬p⇔ true
p∧¬p⇔ false
¬(¬p) ⇔ p
 Hokum De Morgan
Hokum ini merupakan negasi dari konjungsi dan disjungsi:
¬(p∧q) ⇔ ¬p ∨ ¬q
¬(p∨q) ⇔ ¬p ∧ ¬q
4) Implication Rule (aturan IF-THEN)
Implikasi adalah pernyataan majemuk yang berupa rangkaian dari dua pernyataan
yang di hubungkan dengan kata penghubung “jika... , maka...”. implikasi dua
penyataan p dan q ditulis p → q (dibaca: jika p, maka q). Pernyataan p disebut
anteseden dan pernyataan q disebut konsekuen.

10
Sebuah kalimat implikasi p → q bernilai salah hanya jika p (antesenden) bernilai
“true” dan q (konsekuen) bernilai “false”, selain itu implikasi bernilai “true”.
Berikut ditampilkan tabel kebenaran dari implikasi:
p q p→q
True True True
True False False
False True True
False False True

Contoh:
a). Misalkan:
p = Rita lulus ujian nasional
q = ayah akan membelikan mobil baru
Berikut kejadian yang mungkin terjadi pada kasus di atas:
 Apabila p benar dan q benar berarti Rita lulus ujian kemudian ayah
membelikan mobil. Apakah Rita senang? Tentu ia. Nerarti nilai “jika p
maka q” benar (True)
 Apabila p benar dan q salah berarti Rita lulus ujian kemudian ayah tidak
membelikan mobil baru. Apakah rita senang? Tentunya tidak. Rita
pastinya akan protes dan minta janji ayah untuk membelikan mobil. Protes
yang dilakukan menandakan nilai “jika p maka q” bernilai salah (False)
 Apabila p salah dan q benar berarti Rita tidak lulus ujian kemudian ayah
membelikan mobil. Apakah Rita senang? Tentunya ia. Senang sekali...
sudah tidak lulus dapat mobil lagi. Rita tidak akan protes kan? Jadi respon
positif Rita menandakan nilai “jika p maka q” bernilai benar (True)
 Apabila p salah dan q salah berasrti Rita tidak lulus ujian kemudian ayah
tidak membelikan mobil. Dalam kasus ini apa tanggapan Rita? Rita tidak
akan protes kan? Karena Rita tahu bahwa kalau tidak lulus pastinya tidak
ada harapan mandapat mobil. Jadi nilai “jika p maka q” benar (True)
b). Tentukan nilai kebenaran dari pernyataan berikut:
Jika matahari terbit di sebelah barat, maka Budi lulus ujian
Jawab: implikasi ini bernilai benar, karena antesedennya bernilai salah,
walaupun konsekuen tidak diketahui nilai kebenarannya.

11
5) Equivalence Rule (aturan IF-AND ONLY-IF)
Biimplikasi atau Equivalence
Biimplikasi atau bikondisional adalah pernyataan majemuk dari dua pernyataan p
dan q yang dinyatakan dengan notasi “p ↔ q”.
Biimplikasi p ↔ q dapat diartikan sebagai implikasi dua arah p → q dan p ← q
atau merupakan konjungsi “ ( p → q ) Ʌ ( q ← p )”, sehingga nilai kebenaran dari
p ↔ q dapat ditentukan berdasarkan nilai kebenaran ( p → q ) Ʌ ( q ← p )”.
Biimplikasi 2 pernyataan hanya akan bernilai benar jika implikasi kedua kalimat
penyusunnya sama-sama bernilai benar.
Berikut di paparkan tabel kebenaran biimplikasi:

p q p→q q→p (p→q) ˄ (q→p) p↔q


True True True True True True
True False False True False False
False True True False False False
False False True True True True

Dengan melihat tabel kebenaran biimplikasi maka biimplikasi p↔q bernilai


benar hanya apabila kedua pernyataan p dan q bernilai sama (keduanya bernilai
benar atau keduanya bernilai salah). Selain daripada itu, biimplikasi bernilai
salah.
Contoh:
Tentukan nilai kebenaran dari pernyataan-pernyataan dibawah ini:
a) Jakarta adalah ibu kota negara Republik Indonesia jika dan hanya jika Gunung
Semeru berada di pulau Jawa
Jawab:
Misalnya:
p = Jakarta adalah ibu kota negara Republik Indonesia
q = Gunung Semeru berada di pulau Jawa
Pernyataan p dan q keduanya bernilai benar maka biimplikasi p ↔ q bernilai
benar.

12
b) Dua buah segitiga sebangun jika dan hanya jika ketiga sudut yang bersesuaian
sama besar.
Jawab:
Misalkan:
p = Dua buah segitiga sebangun
q = Ketiga sudut yang bersesuaian sama besar
pada soal ini masing-masing pernyataan tidak diketahui nilai kebenarannya,
tetapi nilai kebenaran biimplikasi p ↔ q dapat ditentukan, dengan mencari
nilai kebenaran konjungsi (p → q) ˄ (q ← p).
Dalam hal ini implikasi p → q merupakan implikasi logis yang bernilai benar,
karena memang benar bahwa juka dua buah segitiga sebangun, maka segitiga
sudut yang bersesuaian pada kedua segitiga sama besar. Sebaliknya apabila
ketiga sudut yang bersesuaian pada dua buah segitiga sama besar, maka
segitiga tersebut sebangun. Ini berarti q→p bernilai benar. Sehingga konjungsi
( p→q )˄( q←p ) bernilai benar. Jadi, biimplikasi p ↔ q bernilai benar
(True).
6) Conditional Rule (aturan IF-THEN-ELSE)
Nilai kebenaran dari kondisional (yaitu if p then q else r) adalah sama dengan
nilai kebenaran dari q (jika nilai p adalah “true”) dan bernilai sama dengan r (jika
nilai p adalah “false”). Dengan kata lain, jika p benar berlaku q dan jika p salah
maka yang berlaku adalah r.
p q r if p then q else r
True True True True
True True False True
True False True False
True False False False
False True True True
False True False False
False False True True
False False False False

13
1.3.6 Tabel Kebenaran (Truth Table)
Tabel kebenaran adalah suatu metode untuk menentukan nilai kebenaran dari
suatu kalimat logika dengan menginterpretasi setiap simbol proposisi dan
menggunakan aturan semantic (semantic rule).
Dengan aturan semantik dapat ditentukan nilai kebenaran suatu kalimat
kompleks untuk semua interpretasi yang mungkin.
• Biasanya ditabelkan dan disebut tabel kebenaran
• Jika terdapat n variabel, maka terdapat 2n baris tabel kebenaran
Tabel kebenaran adalah cara yang paling jelas untuk membuktikan validitas suatu
kalimat dengan menentukan kemungkinan nilai-nilai kebenaran yang diberikan
pada simbol-simbol proposisinya. Jadi, bila suatu kalimat memuat simbol-simbol
proposisi p dan q, ada empat kemungkinan interpretasi yang perlu kita perhatikan,
yaitu:
p bernilai “true” dan q bernilai “true”
p bernilai “true” dan q bernilai “false”
p bernilai “false” dan q bernilai “true”
p bernilai “false” dan q bernilai “false”
Proses tersebut dapat difasilitasi dengan suatu table, yang disebut tabel
kebenaran.
Contoh:
Diberikan kalimat logika sebagai berikut:
not (p and (not p)) or q
Tentukan nilai kebenarannya dari kalimat tersebut di atas.
Penyelesaian:
Kalimat logika: not [p and (not p)] or q, untuk lebih memudahkan penulisannya
dalam tabel kebenarannya, kalimat tersebut diubah dalam notasi konvensional
sebagai berikut: ¬(p˄¬p)˅q.
Dengan demikian, table kebenaran yang bersesuaian adalah:
p q ¬p p˄¬p ¬(p˄(¬p)) ¬(p˄¬p)˅q
T T F F T T
T F F F T T
F T T T F T
F F T F T T

14
Contoh:
Diberikan kalimat logika sebagai berikut:
(if p then q) or (r and (not p))
Tentukan nilai kebenarannya (truth value) dari kalimat tersebut di atas.
Penyelesaian:
Kalimat logika (if p then q) or [r and (not p)], akan menghasilkan delapan
kemungkinan interpretasi, karena ada tiga proposisi yang menyusun kalimat
logika tersebut. Dengan demikian, table kebenaran yang bersesuaian adalah:
p q r ¬p pq r˄¬p (pq)˅(r˄¬p)
T T T F T F T
T T F F T F T
T F T F F F F
T F F F F F F
F T T T T T T
F T F T T F T
F F T T T T T
F F F T T F T

1.4 Ingkaran (Negasi) Suatu Penyataan


1.4.1 Negasi Suatu Konjungsi
Contoh : Fahmi makan nasi dan minum kopi
Suatu konjungsi akan bernilai benar jika kedua kalimat penyusunnya yaitu p
dan q bernilai benar, sedangkan negasi adalah pernyataan yang bernilai salah jika
pernyataan awalnya bernilai benar dan bernilai benar jika pernyataan awalnya
bernilai salah.
Oleh karena itu negasi dari : “Fahmi makan nasi dan minum kopi” adalah suatu
pernyataan majemuk lain yang salah satu komponennya merupakan negasi dari
komponen pernyataan awalnya. Jadi negasinya adalah: “Fahmi tidak makan nasi atau
tidak minum kopi”.
Disini berlaku hukum De Morgan yaitu : ¬(p∧q) ekuivalen dengan ¬p∨¬q

15
1.4.2 Negasi Suatu Disjungsi
Contoh : “Fahmi makan nasi atau minum kopi”
Suatu disjungsi akan bernilai salah hanya jika kedua komponen
penyusunannya bernilai salah, selain itu benar. Oleh karena itu negasi dari kalimat
diatas adalah : “ Tidak benar bahwa Fahmi makan nasi atau minum kopi” atau dapat
juga dikatakan “Fahmi tidak makan nasi dan tidak minum kopi. Disini berlaku hukum
De Morgan yaitu : ¬(p∨q) ≡ ¬p∧¬q
1.4.3 Negasi Suatu Implikasi
Contoh: “Jika hari hujan maka Adi membawa payung”.
Untuk memperoleh negasi dari pernyataan diatas, kita dapat mengubah
bentuknya ke dalam bentuk disjungsi kemudian dinegasikan, yaitu :
p⇒ q ≡ ¬p∨q
Maka negasinya
¬( p⇒ q) ≡ ¬(¬p∨q) ≡ p∧¬q
1.4.4 Negasi Suatu Biimplikasi
Biimplikasi atau bikondisional adalah pernyataan majemuk dari dua
pernyataan p dan q yang dinotasikan dengan p ⇔ q ≡ (p ⇒ q) ∧ (q ⇒ p) sehingga :
¬(p ⇔ q) ≡ ¬ [(p ⇒ q) ∧ (q ⇒ p)]
≡ ¬ [(¬p∨q ) ∧ (¬q∨p)]
≡ ¬ (¬p∨q ) ∨ ¬(¬q∨p)
¬(p ⇔ q) ≡ (p∧¬q ) ∨ (q∧¬p)
1.5 Tautologi, Kontradiksi, Dan Contingent
Tautologi adalah suatu bentuk kalimat yang selalu bernilai benar (True) tidak
peduli bagaimanapun nilai kebenaran masing-masing kalimat penyusunnya,
sebaliknya kontradiksi adalah suatu bentuk kalimat yang selalu bernilai salah (False),
tidak peduli bagaimanapun nilai kebenaran masing-masing kalimat penyusunnya.
Dalam tabel kebenaran, suatu tautologi selalu bernilai True pada semua barisnya dan
kontradiksi selalu bernilai False pada semua baris. Kalau suatu kalimat tautologi
diturunkan lewat hukum-hukum yang ada maka pada akhirnya akan menghasilkan
True, sebaliknya kontradiksi akan selalu bernilai False.
Jika pada semua nilai kebenaran menghasilkan nilai F dan T, maka disebut formula
campuran (contingent).

16
Contoh:
1. Tunjukkan bahwa p∨(¬p) adalah tautologi!
p ¬p p∨(¬p)
T T T
T F T
F T T
F F T

2. Tunjukkan bahwa (p∨q) ∨ [(¬p) ∧ (¬q)] adalah tautologi!


p q ¬p ¬q p∨q ¬p ∧ ¬q (p∨q) ∨ [(¬p) ∧ (¬q)]
T T F F T F T
T F F T T F T
F T T F T F T
F F T T F T T

3. Tunjukkan bahwa (p∨q) ∧ [(¬p) ∧ (¬q)] adalah kontradiksi!


p q ¬p ¬q p∨q ¬p ∧ ¬q (p∨q) ∧ [(¬p) ∧ (¬q)]
T T F F T F F
T F F T T F F
F T T F T F F
F F T T F T F

4. Tunjukkan bahwa [(p∧q) ⇒ r] ⇒ p adalah contingent!


p q r p∧q (p∧q) ⇒ r [(p∧q) ⇒ r] ⇒ p
T T T T T T
T T F T T T
T F T F F T
T F F F F T
F T T F T F
F T F F T F
F F T F T F
F F F F T F

17
1.6 Konvers, Invers, Dan Kontraposisi
Perhatikan pernytaan di bawah ini! ¬ ∧ ∨ → ↔
“Jika suatu bender adalah bendera RI maka ada warna merah pada bendera tersebut”
Bentuk umum implikasi di atas adalah “p → q” dengan
p : Bendera RI
q : Bendera yang ada warna merahnya.

Dari implikasi diatas dapat dibentuk tiga implikasi lainnya yaitu :


1. KONVERS, yaitu q → p
Sehingga implikasi diatas menjadi :
“ Jika suatu bendera ada warna merahnya, maka bendera tersebut adalah bendera
RI”.
2. INVERS, yaitu ¬p → ¬q
Sehingga implikasi diatas menjadi :
“ Jika suatu bendera bukan bendera RI, maka pada bendera tersebut tidak ada
warna merahnya”.
3. KONTRAPOSISI, yaitu ¬q → ¬p
Sehingga implikasi di atas menjadi :
“ Jika suatu bendera tidak ada warna merahnya, maka bendera tersebut bukan
bendera RI”.
Suatu hal yang penting dalam logika adalah kenyataan bahwa suatu implikasi selalu
ekuivalen dengan kontraposisinya, akan tetapi tidak demikian halnya dengan invers
dan konversnya.
Hal ini dapat dilihat dari tabel kebenaran berikut
p q ¬p ¬q p→q q → p ¬p → ¬q ¬q → ¬p
T T F F T T T T
T F F T F T T F
F T T F T F F T
F F T T T T T T

18
1.7 Ingkaran Konvers, Invers, Dan Kontraposisi
Contoh:
Tentukan ingkaran atau negasi konvers, invers, dan kontraposisi dari implikasi
berikut.
“Jika suatu bendera adalah bendera RI maka bendera tersebut berwarna merah dan
putih”
Penyelesaian
Misal p : Suatu bendera adalah bendera RI
q : Bendera tersebut berwarna merah dan putih
maka kalimatnya menjadi p → q atau jika menggunakan operator dan maka p → q
ekuivalen(sebanding/≈) dengan ¬p ∨ q. Sehingga
1. Negasi dari implikasi
Implikasi : (p→q) ≈ ¬p ∨ q
Negasinya : ¬(¬p∨q) ≈ p∧¬q
Kalimatnya :“Suatu bendera adalah bendera RI dan bendera tersebut
tidak berwarna merah dan putih”.
2. Negasi dari konvers
Konvers : q⇒p ≈ ¬q∨p
Negasinya : ¬(¬q∨p) ≈ q∧¬p
Kalimatnya : “Ada/Terdapat bendera berwarna merah dan putih tetapi
bendera tersebut bukan bendera RI”.
3. Negasi dari invers
Invers : ¬p ⇒ ¬q ≈ ¬(¬p)∨¬q) ≈ p∧¬q
Negasinya : ¬(p∧¬q) ≈ ¬p∨q
Kalimatnya : “Suatu bendera bukan bendera RI atau bendera tersebut
berwarna merah dan putih”.
4. Negasi dari kontraposisi
Kontraposisi : ¬q ⇒ ¬p ≈ ¬(¬q)∨¬p ≈ q∨¬p
Negasinya : ¬(q∨¬p) ≈ ¬q∧p
Kalimatnya : “Suatu bendera tidak berwarna merah dan putih dan bendera
tersebut adalah bendera RI”.

19
1.8 Ekuivalensi Logika
Pada tautologi, dan juga kontradiksi, dapat dipastikan bahwa jika dua buah
ekspresi logika adalah tautologi, maka kedua buah ekspresi logika tersebut ekuivalen
secara logis, demikian pula jika keduanya kontradiksi. Persoalannya ada pada
contingent, karena memiliki semua nilai T dan F. Tetapi jika urutan T dan F atau
sebaliknya pada tabel kebenaran tetap pada urutan yang sama maka tetap disebut
ekuivalen secara logis. Perhatikan pernyataan berikut :
Contoh:
a. Dewi sangat cantik dan peramah.
b. Dewi peramah dan sanagt cantik.
Kedua pernyataan di atas, tanpa dipikir panjang, akan dikatakan ekuivalen atau sama
saja. Dalam bentuk ekspresi logika dapat ditulis sebagai berikut :
A = Dewi sangat cantik.
B = Dewi peramah.
Maka ekspresi logikanya :
a. A ∧ B
b. B ∧ A

Jika dikatakan kedua buah ekspresi logika tersebut ekuivalen secara logis maka dapat
ditulis A ∧ B ≡ B ∧ A. Ekuivalensi logis dari kedua ekspresi logika tersebut dapat
dibuktikan dengan tabel kebenaran sebagai berikut ini :
A B A∧B B∧A
T T T T
T F F F
F T F F
F F F F

Pembuktian dengan tabel kebenaran diatas, walaupun setiap ekspresi logika memiliki
nilai T dan F, tetapi karena memiliki urutan yang sama, maka secara logis tetap
dikatakan ekuivalen. Tetapi jika urutan T dan F tidak sama, maka tidak biasa
dikatakan ekuivalen secara logis. Tabel kebenaran merupakan alat untuk
membuktikan kebenaran ekuivalensi secara logis. Kesimpulan diambil berdasarkan
hasil dari tabel kebenaran tersebut. Lihat pernyataan berikut ini :

20
Contoh:
1. Badu tidak pandai, atau dia tidak jujur.
2. Adalah tidak benar jika Badu pandai dan jujur.
Secara intuitif dapat ditebak bahwa kedua pernyataan di atas sebenarnya sama, tetapi
bagaimana jika idbuktikan dengan menggunkan tabel kebenaran berdasarkan ekspresi
logika. Adapaun langkah-langkahnya :
1. Ubah dahulu argumen di atas ke dalam bentuk ekspresi/notasi logika.
Misal : A=Badu pandai
B=Badu jujur
Maka kalimatnya menjadi
1. ¬A∨¬B
2. ¬(A∧B)
2. Buat tabel kebenarannya
A B ¬A ¬B A∧B ¬A∨¬B ¬(A∧B)
T T F F T F F
T F F T F T T
F T T F F T T
F F T T F T T

Perhatikan ekspresi di atas! Meskipun kedua ekspresi logika di atas memiliki nilai
kebenaran yang sama, ada nilai T dan F, keduanya baru dikatakan ekuivalen secara
logis jika dihubungkan dengan perangkai ekuivalensi dan akhirnya menghasilkan
tautologi.
3. Tambahkan perangkai biimplikasi untuk menghasilkan tautologi
¬A∨¬B ¬(A∧B) ¬A∨¬B ↔ ¬(A∧B)
F F T
T T T
T T T
T T T

Jika hasilnya adalah tautologi (bernilai T semua), maka dikatakan bahwa kedua
argumen tersebut ekuivalen secara logis.

21
1.8.1 Hukum-Hukum Ekuivalensi Logika
Identitas p∧1 ≡ p p∨0 ≡ p
Ikatan p∨1 ≡ T p∧0 ≡ 0
Idempoten p∨p ≡ p p∧p ≡ p
Negasi p∨¬p ≡ 1 p∧¬p ≡ 0
Negasi Ganda ¬¬p ≡ p
Komutatif p∨q ≡ q∨p p∧q ≡ q∧p
Asosiatif (p∨q)∨r ≡ p∨(q∨r) (p∧q)∧r ≡ p∧(q∧r)
Distributif p∨(q∧r) ≡ (p∨q)∧(p∨r) p∧(q∨r) ≡ (p∧q)∨(p∧r)
De Morgan’s ¬(p∧q) ≡ ¬p ∨ ¬q ¬(p∨q) ≡ ¬p ∧ ¬q
Absorbsi p∧(p∨q) ≡ p p∨(p∧q) ≡ p

Selain dengan menggunkan tabel kebenaran, menentukan dua buah argumen adalah
ekuivalen secara logis dapat juga menggunakan hukum-hukum ekuivalensi logika.
Cara ini lebih singkat
Contoh:
Buktikan ekuivalensi kalimat di bawah ini dengan hukum-hukum ekuivalensi.
¬(p∨¬q) ∨ (¬p∧¬q) ≡ ¬p
Penyelesaian
¬(p∨¬q) ∨ (¬p∧¬q) ≡ (¬p∧¬(¬q)) ∨ (¬p∧¬q)
≡ (¬p∧q) ∨ (¬p∧¬q)
≡ ¬p ∧ (q∨¬q)
≡ ¬p ∧ T
≡ ¬p Terbukti

Dalam membuktikan ekuivalensi p≡q ada 3 macam cara yang bisa dilakukan :
1. P diturunkan terus menerus (dengan menggunakan hukum-hukum ekuivalensi
logika yang ada).
2. Q diturunkan terus-menerus (dengan menggunakan hukum-hukum ekuivalensi
logika yang ada), sehingga didapat P.
3. P dan Q diturunkan secara terpisah sehingga akhirnya didapat R

22
Sebagai aturan kasar, biasanya bentuk yang lebih kompleks yang diturunkan ke dalam
bentuk yang sederhana. Jadi jika p kompleks amaka aturan (1) yang dilakukan.
Sebaliknya jika q yang lebih kompleks maka aturan (2) yang dilakukan. Aturan (3)
digunakan jika p dan q sama-sama kompleks.
1.8.2 Penyederhanaan Logika
Operasi penyederhanaan menggunakan hukum-hukum ekuivalensi logis.
Selanjutnya perhatikan operasi penyederhanaan berikut dengan hukum yang
digunakan tertulis di sisi kanannya. Penyederhanaan ekspresi logika atau bentuk-
bentuk logika ini dibuat sesederhana mungkin dan sudah tidak dimungkinkan
dimanipulasi lagi.
Contoh:
a. ¬p → ¬(p → ¬q)
≡ ¬p → ¬(¬p ∨ ¬q) ingat p→q ≡ ¬p∨q
≡ ¬(¬p) ∨ ¬(¬p ∨ ¬q) ingat p→q ≡ ¬p∨q
≡ p ∨ (p ∧ q) Hk. Negasi ganda dan De Morgan
≡ (p∨p) ∧ (p∨q) Hk. Distributif
≡ p∧(p∨q) Hk. Idempoten p∨p ≡ p
≡p Hk. Absorbsi
b. p∨(p∧q)
≡ (p∧1) ∨(p∧q) Hk.Identitas
≡ p∧(1∨q) Hk.Distributif
≡ p∧1 Hk.Identitas ∨
≡p Hk.Identitas ∧
c. (p→q) ∧ (q→p)
≡ (¬p∨q) ∧ (¬q∨p) ingat p→q ≡ ¬p∨q
≡ (¬p∨q) ∧ (p∨¬q) Hk. Komutatif
≡ [(¬p∨q) ∧p] ∨ [(¬p∨q)∧¬q] Hk. Distributif
≡ [(p∧¬p)∨(p∧q)] ∨ [(¬p∧¬q)∨(q∧¬q)] Hk. Distributif
≡ [0∨(p∧q)] ∨ [(¬p∧¬q)∨0] Hk. Kontradiksi
≡ (p∧q)∨(¬p∧¬q) Hk. Identitas

23
Operasi penyederhanaan dengan menggunakan hukum-hukum logika dapat digunakan
untuk membuktikan suatu ekspresi logika Tautologi, Kontradiksi, maupun
Contingent. Jika hasil akhir penyederhanaan ekspresi logika adalah 1, maka ekspresi
logika tersebut adalah tautologi. Jika hasil yang diperoleh adalah 0, berarti ekspresi
logika tersebut kontradiksi. Jika hasilnya tidak 0 ataupun 1, maka ekspresi
logikanya adalah contingent.
Contoh:
a. [(p→q)∧p] →q
≡ [(¬p∨q)∧p] ⇒ q ingat p→q ≡ ¬p∨q
≡ ¬[(¬p∨q)∧p] ∨ q ingat p→q ≡ ¬p∨q
≡ [(p∧¬q)∨¬p] ∨ q Hk. Negasi ganda dan De Morgan
≡ [(p∨¬p)∧(¬q∨¬p)] ∨ q Hk. Distributif
≡ [1∧(¬p∨¬q)] ∨ q Hk. Idempoten dan komutatif
≡ (¬p∨¬q)∨q Hk. Identitas
≡ ¬p∨(¬q∨q) Hk. Assosiatif
≡ ¬p∨1 Hk. Idempoten
≡1 Hk. Identitas
Karena hasil akhirnya 1, maka ekspresi logika diatas adalah tautologi.
b. (p∨q) ∧ [(¬p) ∧ (¬q)]
≡ (p∨q)∧(¬p∧¬q)
≡ [(p∨q)∧¬p]∧[(p∨q)∧¬q] Hk. Distributif
≡ [(p∧¬p)∨(q∧¬p)]∧[(p∧¬q)∨(q∧¬q)] Hk. Distributif
≡ [0∨(q∧¬p)]∧[(p∧¬q)∨0] Hk. Negasi
≡ (¬p∧q)∧(p∧¬q) Hk. Idempoten
≡ (¬p∧p)∧(q∧¬q) Hk. Assosiatif
≡ 0∧0 Hk. Negasi
≡0 Hk. Idempoten
Hasil akhir 0, maka ekspresi logika diatas adalah kontradiksi.
c. [(p∨q)∧¬p] → ¬q
≡ [(p∧¬p)∨(q∧¬p)] → ¬q Hk. Distributif
≡ [0 ∨ (q∧¬p)] → ¬q Hk. Negasi
≡ (q∧¬p) → ¬q Hk. Identitas

24
≡ ¬(q∧¬p) ∨ ¬q ingat p→q ≡ ¬p∨q
≡ (¬q∨p) ∨ ¬q Hk. De Morgan
≡ (¬q∨¬q)∨p Hk. Assosiatif
≡ ¬q∨p Hk. Idempoten
Hasilnya bukan 0 atau 1, ekspresi logika di atas adalah contingent.
1.9 INFERENSI LOGIKA
1.9.1 ATURAN PENARIKAN KESIMPULAN
1.9.1.1 ARGUMEN VALID DAN INVALID
Argumen adalah suatu pernyataan tegas yang diberikan oleh sekumpulan
proposisi P 1 , P 2 , .........,P n yang disebut premis (hipotesa/asumsi) dan menghasilkan
proposisi Q yang lain yang disebut konklusi (kesimpulan).
Secara umum di notasikan dengan P1
P2
Premis
P 1, P 2, .........., P n ├ Q atau dapat juga ditulis
Pn
∴Q Konklusi
Premis Konklusi

Nilai kebenaran suatu argumen ditentukan sebagai berikut :


“Suatu argumen P 1, P 2,…………,, P n ├ Q dikatakan benar (valid) jika Q bernilai benar
untuk semua premis yang benar dan argumen dalam keadaan selain itu dikatakan
salah (invalid/fallacy)”.
Dengan kata lain, suatu argumen dikatakan valid apabila untuk sembarang pernyataan
yang disubtitusikan ke dalam premis, jika semua premis benar maka konklusinya juga
benar. Sebaliknya jika semua premis benar tetapi konklusinya ada yang salah maka
argumen tersebut dikatakan invalid (fallacy).
Jadi suatu argumen dikatakan valid jika dan hanya jika proposisi P 1 ∧P2∧........∧Pn)
→ Q adalah sebuah Tautologi.
Contoh:
a. Premis
P1 : Jika Office dan Delphi diperlukan maka semua orang akan belajar
komputer
P2 : Office dan Delphi diperlukan
Konklusi

25
Q : Semua orang akan belajar komputer
Jika ditulis dalam bentuk notasi logika
Misal p : Office dan Delphi diperlukan
q : Semua orang belajar komputer
Maka argumen diatas dapat ditulis :
p→q, p ├ q (valid)
b. Misal p : Saya suka kalkulus
q : Saya lulus ujian kalkulus
Maka argumen p → q, p ├ q dapat ditulis
P1 : Jika saya suka kalkulus, maka saya akan lulus ujian kalkulus
P2 : Saya lulus ujian kalkulus
∴ Saya lulus ujian kalkulus (valid)
Untuk mengetahui suatu argumen apakah valid atau tidak maka dapat dilakukan
langkah-langkah sebagai berikut :
a. Tentukan premis dan konklusi argumen
b. Buat tabel yang menunjukkan nilai kebenaran untuk semua premis dan konklusi.
c. Carilah baris kritis yatitu baris diman semua premis bernilai benar.
d. Dalam baris kritis tersebut, jika nilai kesimpulan semuanya benar maka argumen
tersebut valid. Jika diantara baris kritis tersebut ada baris dengan nilai konklusi
salah maka argumen tersebut tidak valid.
Contoh:
Tentukan apakah argumen berikut ini valid atau invalid
a. p∨(q∨r), ¬r ├ p∨q
b. p⇒(q∨¬r), q⇒(p∧r) ├p⇒r
Penyelesaian
a. Jawab:
Baris p q r q∨r p∨(q∨r) ¬r p∨q
ke (Premis) (Premis) (konklusi)
1 T T T T T F T
2 T T F T T T T
3 T F T T T F T
4 T F F F T T T
5 F T T T T F T
6 F T F T T T T
7 F F T T T F F
8 F F F F F T F

26
Dapat dilihat pada tabel diatas bahwa baris 2, 4, dan 6 premisnya bernilai benar
semua. Kemudian lihat pada baris konklusi. Ternyata pada baris konklusi semuanya
bernilai benar. Maka argumen diatas adalah valid.
b. Silahkan Anda kerjakan!.
1.9.1.2 Metode Inferensi (Inference Method)
Metode Inferensi adalah suatu teknik/metode untuk menurunkan kesimpulan
berdasarkan hipotesa yang diberikan, tanpa harus menggunakan tabel kebenaran.
Beberapa metode inferensi untuk menentukan validitas adalah berikut:
1) Modus Ponen
Modus ponen atau penalaran langsung adalah salah satu metode inferensi dimana
jika diketahui implikasi ” Bila p maka q ” yang diasumsikan bernilai benar dan
antasenden (p) benar. Supaya implikasi p→q bernilai benar, maka q juga harus
bernilai benar.
Modus Ponen : p→q , p ├ q
atau dapat juga ditulis
p→q
p
――――
∴q

Contoh:
Jika digit terakhir suatu bilangan adalah 0, maka bilangan tersebut habis dibagi 10
Digit terakhir suatu bilangan adalah 0
―――――――――――――――――――――――――
∴ Bilangan tersebut habis dibagi 10

2) Modus Tollens
Bentuk modus tollens mirip dengan modus ponen, hanya saja premis kedua dan
kesimpulan merupakan kontraposisi premis pertama modus ponen. Hal ini
mengingatkan bahwa suatu implikasi selalu ekuivalen dengan kontraposisinya.
Modus Tollens : p→q, ¬q ├ ¬p

27
Atau dapat juga ditulis
p→q
¬q
――――
∴ ¬p

Contoh:
Jika digit terakhir suatu bilangan adalah 0, maka bilangan tersebut habis dibagi 10
Suatu bilangan tidak habis dibagi 10
―――――――――――――――――――――――――
∴ Digit terakhir bilangan tersebut bukan 0

3) Penambahan Disjungtif (Addition)


Inferensi penambahan disjungtif didasarkan atas fakta bahwa suatu kalimat dapat
digeneralisasikan dengan penghubung ”∨”. Alasannya adalah karena penghubung
”∨” bernilai benar jika salah satu komponennya bernilai benar.
Misalnya saya mengatakan ”Langit berwarna biru” (bernilai benar). Kalimat
tersebut tetap akan bernilai benar jika ditambahkan kalimat lain dengan
penghubung ”∨”. Misalnya ”Langit berwarna biru atau bebek adalah binatang
menyusui”. Kalimat tersebut tetap bernilai benar meskipun kalimat ”Bebek adalah
binatang menyusui”, merupakan kalimat yang bernilai salah.
Addition : p ├(p∨q) atau q ├ (p∨q)
Atau dapat ditulis
p atau q
―――― ――――
∴ p∨q ∴ p∨q

Contoh:
Simon adalah siswa SMU
――――――――――――――――――――
∴ Simon adalah siswa SMU atau SMP

28
4) Penyederhaan Konjungtif (Simplification)
Inferensi ini merupakan kebalikan dari inferensi penambahan disjungtif. Jika
beberapa kalimat dihubungkan dengan operator ”∧”, maka kalimat tersebut dapat
diambil salah satunya secara khusus (penyempitan kalimat).

simplification : (p∧q) ├p atau (p∧q) ├ q


Atau dapat ditulis
p∧q atau p∧q
――― ―――
∴p ∴q

Contoh:
Langit berwarna biru dan bulan berbentuk bulat
―――――――――――――――――――――――――
∴ Langit berwarna biru atau ∴ Bulan berbentuk bulat

5) Silogisme Disjungtif
Prinsip dasar Silogisme Disjungtif (Disjunctive syllogism) adalah kenyataan
bahwa apabila kita dihadapkan pada satu diantara dua pilihan yang ditawarkan (A
atau B). Sedangkan kita tidak memilih/tidak menyukai A, maka satu-satunua
pilihan adalah memilih B. Begitu juga sebaliknya.
Silogisme Disjungtif : p∨q, ¬p ├q dan p∨q, ¬q ├ p
Atau dapat ditulis
p∨q atau p∨q
¬p ¬q
―――― ――――
∴q ∴p

Contoh:
Saya pergi ke mars atau ke bulan
Saya tidak pergi ke mars
――――――――――――――――――
∴ Saya pergi ke bulan

6) Silogisme Hipotesis (Transitivity)


Prinsip silogisme hipotesis adalah sifat transitif pada implikasi. Jika implikasi
p→q dan q→r keduanya bernilai benar, maka implikasi p→r bernilai benar pula.

29
Transitivity : p→q , q→r ├ p→r
Atau dapat ditulis
p→q
q→r
―――――
∴ p→r

Contoh:
Jika hari hujan maka tanahnya menjadi berlumpur
Jika tanahnya berlumpur maka sepatu saya akan kotor
―――――――――――――――――――――――――
∴ Jika hari hujan maka sepatu saya akan kotor.

7) Konjungsi
Jika ada dua kalimat yang masing-masing benar, maka gabungan kedua kalimat
tersebut dengan menggunakan penghubung ”∧” juga bernilai benar.

Konjungsi
p
q
――
∴ p∧q

8) Dilema
Kadang-kadang, dalam kalimat yang dihubungkan dengan penghubung ”∨”,
masing-masing kalimat dapat mengimplikasikan sesuatu yang sama. Berdasarkan
hal itu maka suatu kesimpulan dapat diambil.
Dilema :
p∨q
p→r
q→r
―――
∴r

Berikut adalah contoh permasalah yang diselesaikan dengan metode inferensi:


Pada suatu hari, Anda hendak pergi kuliah dan baru sadar bahwa Anda tidak memakai
kacamata. Setelah diingat-ingat, ada beberapa fakta yang Anda yakini benar:

30
a. Jika kacamataku ada di meja dapur, aku pasti sudah melihatnya ketika
mengambil makanan kecil.
b. Aku membaca buku pemrograman di ruang tamu atau aku membacanya di
dapur.
c. Jika aku membaca buku pemrograman di ruang tamu, maka pastilah kacamata
kuletakkan di meja tamu.
d. Aku tidak melihat kacamataku ketika aku mengambil makanan kecil.
e. Jika aku membaca majalah di ranjang, maka kacamataku kuletakkan di meja
samping ranjang.
f. Jika aku membaca buku pemrograman di dapur, maka kacamata ada di meja
dapur.
Berdasar fakta-fakta tersebut, tentukan dimana letak kacamata tersebut!
Penyelesaian:
Untuk memudahkan penggunaan metode inferensi, kalimat-kalimat tersebut
dinyatakan dengan symbol-simbol logika, misalnya:
p : Kacamata ada di meja dapur.
q : Aku melihat kacamataku ketika mengambil makanan kecil.
r : Aku membaca buku pemrograman di ruang tamu.
s : Aku membaca buku pemrograman di dapur.
t : Kacamata kuletakkan di meja tamu.
u : Aku membaca buku pemrograman di ranjang.
w : Kacamata kuletakkan di meja samping ranjang

a. pq
b. r ˅ s
c. rt
d. ¬q
e. u  w
f. sp

inferensi yang dapat dilakukan adalah:


1. p  q
¬q
¬p

31
2. s  p
¬p
¬s
3. r ˅ s
¬s
r
4. r  t
r
t
Kesimpulannya: Kacamata ada di meja tamu
1.9.2 Kalimat Berkuantor (Quantifier Sentence)
Kalimat berkuantor adalah kalimat yang memuat ekspresi kuantitas obyek
yang terlibat, misalnya: semua, ada, beberapa, tidak semua, dan lain-lain.
Ada dua macam kalimat berkuantor:
1.9.2.1 Kuantor Universal (Universal Quantifier)
Kuantor universal yang disebut kuantor umum. Kuantor universal
menunjukkan bahwa setiap objek dalam semestanya mempunyai sifat kalimat yang
menyatakannya. Kita dapat meletakkan kata-kata “Untuk semua/setiap x” di depan
kalimat terbuka yang mengandung variabel x untuk menghasilkan kalimat yang
mempunyai suatu nilai kebenaran. Nilai x ditentukan berdasarkan semesta
pembicaraannya. Kuantor universal disimbolkan dengan “∀” (∀, dibaca semua,
seluruh, setiap).
Ciri – Ciri Kuantor Universal :
· P dimiliki oleh setiap X dalam semesta pembicaraannya.
· ( ∀ x), P(x)
· Sesuatu bernilai benar untuk semua individualnya.
Kuantor universal mengindikasikan bahwa sesuatu bernilai benar untuk semua
individual-individualnya. Perhatikan kalimat berikut ini :
“Semua gajah mempunyai belalai”
Maka jika predikat “mempunyai belalai” diganti dengan simbol B maka dapat ditulis :
G(x) → B(x), dapat dibaca “Jika x adalah gajah, maka x mempunyai belalai”. Tetapi
kalimat di atas belum berupa kalimat berkuantor karena kalimat diatas belum memuat
kata “semua”. Untuk itu perlu ditambahkan simbul kuantor universal sehingga
menjadi(∀x)(G(x) ⇒ B(x)), jadi sekarang dapat dibaca ” Untuk semua x, jika x adalah
gajah, maka x mempunyai belalai”.

32
Pernyataan-pernyataan yang berisi kata ”semua”, ”setiap”, atau kata lain yang sama
artinya, mengindikasikan adanya pengkuantifikasian secara universal, maka dipakai
kuantor universal. Dalam bahasa inggris, misalnya untuk orang ada kata ”every
people”, ”all people”, ”anybody”, “each people”, dan lain-lainnya.
Misalnya jika diketahui pernyataan logika, ”Setiap mahasiswa harus belajar dari buku
teks”, jika ingin ditulis dalam logika predikat, maka ditentukan misal B untuk “ harus
belajar dari buku teks”, sehingga jika ditulis B(x), berarti “x harus belajar dari buku
teks”. Kata “Setiap mahasiswa” mengindikasikan bernilai benar untuk setiap x, maka
penulisan yang lengkap adalah:
(∀x) Bx, dibaca “Untuk setiap x, x harus belajar dari buku teks”.
Akan tetapi notasi diatas belum sempurna karena x belum menunjuk mahasiswa,
maka harus lebih ditegaskan dan sebaiknya ditulis :
(∀x)(M(x) → B(x)), dibaca “Untuk setiap x, jika x mahasiswa, maka x harus belajar
dari buku teks”.
Langkah untuk melakukan pengkuantoran universal:
Perhatikan pernyataan berikut ini :
“Semua mahasiswa harus rajin belajar”
Untuk melakukan pengkuantoran universal pada pernyataan tersebut maka dilakukan
langkah-langkah seperti berikut :
Carilah lingkup (scope) dari kuantor universalnya, yaitu “Jika x adalah mahasiswa,
maka x harus rajin belajar”. Selanjutnya akan ditulis: mahasiswa(x) ⇒ harus rajin
belajar(x)
Berilah kuantor universal di depannya (∀x)(mahasiswa(x) → harus rajin belajar(x))
Ubahlah menjadi suatu fungsi (Ax)(M(x) → B(x))
Contoh
”Semua tanaman hijau membutuhkan air untuk tumbuh ”.
Jika x adalah tanaman hijau, maka x membutuhkan air untuk tumbuh Tanaman
hijau(x) → membutuhkan air untuk tumbuh(x)
(∀x) (Tanaman hijau(x) ⇒ membutuhkan air untuk tumbuh(x))
(∀x)(T(x) →A(x))
”Semua artis adalah cantik”.
Jika x adalah artis, maka x cantik, Artis(x) → cantik(x).
(∀x)( Artis(x) → cantik(x))

33
(∀x)(A(x) → C(x))
Jika diketahui persamaan x+3>10, dengan x adalah himpunan bilangan bulat positif A
>5 .Tentukan nilai kebenaran (∀x∈A) x+3>10.Untuk menentukan nilai kebenarannya,
maka harus dicek satu persatu.
A={1,2,3,4}. Jika kuantor universal, maka untuk semua nilai A yang dimasukkan
harus memenuhi persamaan yaitu x+3>10
Untuk A=1, maka 1+3>10 ≡ 4>10 Memenuhi
A=2, maka 2+3>10 ≡ 5>10 Memenuhi
A=3, maka 3+3>10 ≡ 6>10 Memenuhi
A=4, maka 4+3>10 ≡ 7>10 Memenuhi
Karena semua himpunan A memenuhi, maka (∀x) x+3>10 bernilai benar. Tapi jika
ada satu saja nilai A yang tidak memenuhi, misalnya dimasukkan A=8, sehingga
8+3>10 ≡ 11>10, dimana hasilnya salah maka (∀x) x+3>10 bernilai salah. Nilai x
yang menyebabkan suatu kuantor bernilai salah disebut dengan contoh penyangkal
atau counter example.
1.9.2.2 Kuantor Eksistensial (Existential Quantifier)
Simbol ∃ dibaca “ada” atau “beberapa” atau “terdapat” disebut kuantor
khusus. Jika p(x) adalah fungsi pernyataan pada x∃ himpunan tertentu A (himpunana
A adalah semesta pembicaraan) maka ( Î A) p(x) atau x! p(x) atau ∃ x p(x) adalah
suatu pernyataan yang ∃ dibaca “Ada x elemen A, sedemikian hingga p(x) merupakan
pernyataan” atau “Untuk beberapa x, p(x)”. ada yang menggunakan simbol ! Untuk ∃
menyatakan “Ada hanya satu”.
Contoh
“Beberapa orang rajin beribadah”.
Jika ditulis dengan menggunakan logika predikat, maka:
”Ada x yang adalah orang, dan x rajin beribadah”.
(∃x)(Orang(x) ∧ rajin beribadah(x))
(∃x)(O(x) ∧ I(x))
“Ada binatang yang tidak mempunyai kaki”.
“Terdapat x yang adalah binatang, dan x tidak mempunyai kaki”.
(∃x)(binatang(x) ∧ tidak mempunyai kaki(x))
(∃x)(B(x) ∧¬K(x))

34
Misalkan B adalah himpunan bilangan bulat. Tentukan nilai kebenaran (∃x ∈
B)(x2=x).
(∃x ∈ B)(x2=x) dapat dibaca “Terdapat x yang adalah bilangan bulat dan x memenuhi
x^2=x”. (∃x ∈ B)(x^2=x) akan bernilai benar jika dapat ditunjukkan paling sedikit
ada satu bilangan bulat yang memenuhi x^2=x.
Misal x= -1, maka 〖-1〗^21 Tidak memenuhi
x= 1, maka 〖(1)〗^2=1 Memenuhi
Karena ada satu nilai yang memenuhi, yaitu x=1, maka pernyataan di atas bernilai
benar.
Ingkaran Dari Pernyataan Berkuantor.
Dari materi-materi yaang telah dibahas ingkaran dari sebuah pernyataan paling kurang
ada tiga hal yang perlu ingat kembali yaitu:
a) Ingkaran/negasi dari pernyataan p,dilambangkan dengan ~p
b) Jika p pernyataan yang bernilai benar maka ~p bernilai salah
c) Jika p pernyataan yang bernilai salah,maka ~p bernilai benar.
Ketentuan-ketentuan diatas juga berlaku Apabilah p merupakanpernyaataan
berkuantor Universal maupu Eksistensial.
a. Ingkaran dari pernyataan Berkuantor Universal.
Contoh:
Diketahui pernyataan berkuantor Universal
P: semua bilangan prima adalah bilangan Asli ,tentukan ~p serta nilai kebenaranya.
Jawab:
P: semua bilangan prima adalah bilangan Asli merupakan pernyataan benar”sekurang-
kurangnya ada satu bilangan prima yang bukan bilangan Asli”dengan demikian
ingkaran P adalah:
~p: ”tidak semua bilangan prima adalah bilangan asli”atau
~p: ”Beberapa bilangan prima bukan bilangan asli”
Berdasarkan contoh diatas tampak bahwa ingkaran dari pernyataan Berkuantor
Universal adalah sebuah pernyataan berkuantor eksistensial,secara umum,ingkaran
pernyataan berkuantor Universal dapat ditentukan sebagai berikut:
(dibaca Ingkaran dari semua x,yang berlaku P(x)ekuivalen dengan ada x yang bukan
P(x)).
b. Ingkaran dari pernyataan Berkuantor Eksistensial.

35
Diketahui pernyataan berkuantror Eksistensial
P: beberapa bilangan prima adalah bilangan genap”Tentukan ~p serta nilai
kebenaranya?
Jawab:
P:beberapa bilangan prima adalah bilangan genap merupakan pernyataan benar”
sekurang-kurangnya ada sebuah bilangan prima yang merupakan bilangan genap
“sehingga ingkaran p adalah:
~p:”semua bilangan prima bukan bilangan genap”.
~p:”tidak ada bilangan prima yang bilangan genap”
~p:”jika x adalah bilangan prima,maka x bukan bilangan genap”

Jadi jelas bahwa ~p bernilai salah,maka berdasarkan contoh diperoleh ingkaran dari
pernyataan berkuantor eksistensial adalah: ,dibaca ingkaran dari “ada x berlaku
P(x)”ekuivalen dengan “untuk semua x bukan p(x)”
Soal dan Penyelesaian
1. Diberikan kalimat logika:
if (if q then not p) then
(not q and p) else
Not ((p or s) if and only if (if r then))
Tentukan nilai kebenarannya jika:
a. Interpretasi p, q, r, dan s true
b. Interpretasi p, q, r, dan s false
c. Interpretasi p, dan q true, r, dan s false
d. Interpretasi p, dan q false, r, dan s true
Penyelesaian:
a. Untuk interpretasi p, q, r, dan s true maka nilai kalimat logika tersebut
adalah false.
b. Untuk interpretasi p, q, r, dan s false maka nilai kalimat logika tersebut
adalah false.
c. Untuk interpretasi p, q true, r dan s false maka nilai kalimat logika
tersebut adalah false.
d. Untuk interpretasi p, q false, r dan s true maka nilai kalimat logika
tersebut adalah false.

36
e. Untuk interpretasi p, q true, r dan s false maka nilai kalimat logika
tersebut adalah true.
2. Dengan menggunakan tabel kebenaran, tentukan nilai kebenaran dari kalimat
logika berikut:
a. [p and (if r then s)] in and only if [(if r then s) and p]
b. (if not p then not s) or [(if q then s) and p]
Penyelesaian:
a. Kalimat logika
(p and (if r then s)) if and only if
((if r then s) and p)
Akan menghasilkan delapan kemungkinan interpretasi karena ada tiga
proposisi yang menyusun kalimat logika tersebut. Dengan demikian, tabel
kebenaran yang bersesuaian adalah:
p r s rs p˄(rs) (rs)˄p p˄(rs)↔(rs)˄p)
T T T T T T T
T T F F F F T
T F T T T T T
T F F T T T T
F T T T F F T
F T F F F F T
F F T T F F T
F F F T F F T
Setiap interpretasi yang diberikan pada kalimat logika di atas
menghasilkan nilai true sehingga kalimat tersebut memiliki sifat valid.
b. Table kebenaran yang bersesuaian dari kalimat logika berikut adalah:
(if not p then not s) or ((if q then s) and p)
p q s ¬p ¬s ¬p¬s qs (qs)˄p (¬p¬s)˅((qs)˄p)
T T T T T T T T T
T T F F F F T F F
T F T T T T T T T
T F F T T T T T T
F T T T F F T F F
F T F F F F T F F
F F T T F F T F F
F F F T F F T F F
Setiap interpretasi yang diberikan pada kalimat logika di atas menghasilkan
nilai true sehingga kalimat tersebut memiliki sifat valid.

37
3. Dengan menggunakan pohon semantik, tentukan validitas kalimat logika
berikut:
a. f or not f
b. (p or q) or not (p or q)
Penyelesaian:
a. Kalimat logika
f or not f
dengan pohon semantic, jika diberikan nilai f adalah true (pada node 2)
maka not f bernilai false. Sebaliknya, jika diketahui nilai f adalah false
maka not f adalah true. Dengan demikian, berdasarkan aturan semantic
(aturan OR), nilai dari kalimat tersebut adalah true, seperti pada pohon
semantic berikut:

f bernilai “true” f bernilai “false”

2 3

b. Kalimat logika
(p or q) or not (p or q)

p bernilai “true” p bernilai “false”


2 3

dengan pohon semantic, jika diberikan nilai p adalah true (node 2), maka
sesuai aturan OR, nilai dari kalimat logika selalu true. Kemudian, bila
diberikan nilai p adalah false, maka nilainya tergantung pada q. Jika nilai
q adalah true, maka kalimat di atas adalah true, dan jika q adalah false,
maka not false adalah true sehingga nilai dari kalimat logika di atas secara
keseluruhan adalah true.
Soal-Soal Latihan
1. Apa yang dimaksud dengan kalimat deklaratif? Berikan contoh kalimat
deklaratif.
2. Apa yang dimaksud dengan kalimat terbuka ? berikan contoh kalimat terbuka.
38
3. Ubahlah kalimat berikut dengan symbol konvensional.
a. (if p then q) or (if q then p)
b. (not q) or not (if p then (not q) and p)
c. (if p then (not q) if and only if not (p and q)
d. (if (p or q) then r) if and only if ((if p then r) and (if q then r))
e. (p if and only if (q if and only if r)) if and only if ((p if and only if q) if and
only if r)
f. (if p then q and r else (not q) and s) if and only if (if q then p and r else
(not p) and s).
4. Diberikan kalimat logika:
if (if q then p) then (q and not p) else
((not q and s) if and only if (if r then not p))
Tentukan nilai kebenarannya jika:
a. Interpretasi p, q, r, dan s true
b. Interpretasi p, q, r, dan s false
c. Interpretasi p, q true, r dan s false
d. Interpretasi p, q false, r dan s true
5. Diberikan kalimat logika sebagai berikut:
if ((if not q then p) or not q) then
(p if and only if q) else not (s and r)
Tentukan nilai kebenaran dari kalimat logika di atas jika diketahui:
a. Interpretasi p, q, r, dan s adalah true
b. Interpretasi p, q, r, dan s adalah false
c. Interpretasi p dan q true, serta r dan s false
d. Interpretasi p dan q false, serta r dan s true
e. Interpretasi p dan s true, serta r dan s false
6. Dengan mengasumsikan p dan r benar, serta q dan s salah, tentukan nilai
kebenaran dari setiap kalimat logika (sentence) berikut:
a. (p and (if r then s)) if and only if ((if r then s) and p)
b. (if not p then and s) or ((if q then s) and p)
c. ((p or q) and not r) if and only of ((if p then r) and ( if q then r)
d. if ((if not q then p) or not q) then (p if and only if q) else not (r and q)
e. if (if q then not p) then (not q and p) else not ((p or s) if and only if (if r
then p))
39
7. Dengan menggunakan tabel kebenarana atau pohon semantic, tentukan nilai
kebenaran kalimat logika berikut:
a. ((p or q) and not r) if and only if ((if p then r) and (if q then r)
b. if ((if not q then p) or not q) then (p if and only if q) else not (r and q)
c. (p and (if r then s)) if and only if ((if r then s) and p)
d. (if not p then not s) or ((if q then s) and not r)
e. if ((if not q then p) or not r) then (p if and only if q) else not (r and not p)
Nyatakan kalimat-kalimat di atas dengan symbol-simbol logika. Kemudian,
simpulkan apakah saya rajin kuliah?
8. Anjas dihadapkan pada tiga wanita, Dhewiek, Aemh, danAirin. Seandainya
diberikan fakta-fakta sebagai berikut:
a. Anjas mencintai paling sedikit satu dari tiga orang
b. Jika Anjas mencintai Dhewiek dan tidak mencintai Aemh maka ia juga
mencintai Airin.
c. Anjas mencintai keduanya, Airin dan Aemh, atau Anjas tidak mencintai
yang mana pun.
d. Jika Anjas mencintai Airin maka Anjas mencintai Dhewiek
Dari ketiganya, mana yang Anjas cintai?
1.10 Logika Kombinasional
Rangkaian digital merupakan komponen perangkat keras (hardware) yang
memanipulasi informasi biner. Rangkaian diimplementasikan dengan menggunakan
transistor-transistor dan antar hubungan dalam peralatan semikonduktor kompleks
yang disebut IC. Masing-masing rangkaian dasar disebut gerbang lojik. Masing-
masing gerbang menyelenggarakan operasi lojik tertentu. Keluaran dari gerbang
diterapkan sebagai masukan dari gerbang lain untuk membentuk suatu rangkaian
digital.

40
BAB II
GERBANG LOGIKA

2.1. Kompetensi DasarError! Bookmark not defined.


Setelah diuraikan pengertian dan definisi dari Gerbang Logika (Logic Gate) yang
berguna dalam memproses input-input berupa bilangan biner. Diharapkan mahasiswa
bisa memahami konsep dasar gerbang logika, dan dari gerbang logika diharapkan
mahasiswa bisa mengubah satu atau beberapa sinyal input (masukan) menjadi sebuah
sinyal output (keluaran).
2.2. Pengertian Gerbang Logika
Gerbang Logika atau dalam bahasa Inggris disebut dengan Logic Gate adalah
dasar pembentuk Sistem Elektronika Digital yang berfungsi untuk mengubah satu
atau beberapa Input (masukan) menjadi sebuah sinyal Output (Keluaran) Logis.
Gerbang Logika beroperasi berdasarkan sistem bilangan biner yaitu bilangan yang
hanya memiliki 2 kode simbol yakni 0 dan 1 dengan menggunakan Teori Aljabar
Boolean.
Gerbang Logika yang diterapkan dalam Sistem Elektronika Digital pada dasarnya
menggunakan Komponen-komponen Elektronika seperti Integrated Circuit
(IC), Dioda, Transistor, Relay, Optik maupun Elemen Mekanikal.
2.3 Jenis-jenis Gerbang Logika Dasar dan Penyelesaiannya
Terdapat 7 jenis Gerbang Logika Dasar yang membentuk sebuah Sistem
Elektronika Digital, yaitu :
1. Gerbang AND
2. Gerbang OR
3. Gerbang NOT
4. Gerbang NAND
5. Gerbang NOR
6. Gerbang X-OR (Exclusive OR)
7. Gerbang X-NOR (Exlusive NOR)
Tabel yang berisikan kombinasi-kombinasi Variabel Input (Masukan) yang
menghasilkan Output (Keluaran) Logis disebut dengan “Tabel
Kebenaran” atau “Truth Table”.
Input dan Output pada Gerbang Logika hanya memiliki 2 level. Kedua Level tersebut
pada umumnya dapat dilambangkan dengan :
• HIGH (tinggi) dan LOW (rendah)
41
• TRUE (benar) dan FALSE (salah)
• ON (Hidup) dan OFF (Mati)
• 1 dan 0
Contoh Penerapannya ke dalam Rangkaian Elektronika yang memakai Transistor
TTL (Transistor-transistor Logic), maka 0V dalam Rangkaian akan diasumsikan
sebagai “LOW” atau “0” sedangkan 5V akan diasumsikan sebagai “HIGH” atau “1”.
Berikut ini adalah Penjelasan singkat mengenai 7 jenis Gerbang Logika Dasar beserta
Simbol dan Tabel Kebenarannya.
1. Gerbang AND (AND Gate)
Gerbang AND memerlukan 2 atau lebih Masukan (Input) untuk menghasilkan hanya
1 Keluaran (Output). Gerbang AND akan menghasilkan Keluaran (Output) Logika 1
jika semua masukan (Input) bernilai Logika 1 dan akan menghasilkan Keluaran
(Output) Logika 0 jika salah satu dari masukan (Input) bernilai Logika 0. Simbol yang
menandakan Operasi Gerbang Logika AND adalah tanda titik (“.”) atau tidak
memakai tanda sama sekali. Contohnya : Z = X.Y atau Z = XY.

Simbol dan Tabel Kebenaran Gerbang AND (AND Gate)

2. Gerbang OR (OR Gate)


Gerbang OR memerlukan 2 atau lebih Masukan (Input) untuk menghasilkan hanya 1
Keluaran (Output). Gerbang OR akan menghasilkan Keluaran (Output) 1 jika salah
satu dari Masukan (Input) bernilai Logika 1 dan jika ingin menghasilkan Keluaran
(Output) Logika 0, maka semua Masukan (Input) harus bernilai Logika 0.
Simbol yang menandakan Operasi Logika OR adalah tanda Plus (“+”). Contohnya : Z
= X + Y.

42
Simbol dan Tabel Kebenaran Gerbang OR (OR Gate)

3. Gerbang NOT (NOT Gate)


Gerbang NOT hanya memerlukan sebuah Masukan (Input) untuk menghasilkan hanya
1 Keluaran (Output). Gerbang NOT disebut juga dengan Inverter (Pembalik) karena
menghasilkan Keluaran (Output) yang berlawanan (kebalikan) dengan Masukan atau
Inputnya. Berarti jika kita ingin mendapatkan Keluaran (Output) dengan nilai Logika
0 maka Input atau Masukannya harus bernilai Logika 1. Gerbang NOT biasanya
dilambangkan dengan simbol minus (“-“) di atas Variabel Inputnya.

Simbol dan Tabel Kebenaran Gerbang NOT (NOT Gate)

4. Gerbang NAND (NAND Gate)


Arti NAND adalah NOT AND atau BUKAN AND, Gerbang NAND merupakan
kombinasi dari Gerbang AND dan Gerbang NOT yang menghasilkan kebalikan dari
Keluaran (Output) Gerbang AND. Gerbang NAND akan menghasilkan Keluaran
Logika 0 apabila semua Masukan (Input) pada Logika 1 dan jika terdapat sebuah
Input yang bernilai Logika 0 maka akan menghasilkan Keluaran (Output) Logika 1.

43
Simbol dan Tabel Kebenaran Gerbang NAND (NAND Gate)

5. Gerbang NOR (NOR Gate)


Arti NOR adalah NOT OR atau BUKAN OR, Gerbang NOR merupakan kombinasi
dari Gerbang OR dan Gerbang NOT yang menghasilkan kebalikan dari Keluaran
(Output) Gerbang OR. Gerbang NOR akan menghasilkan Keluaran Logika 0 jika
salah satu dari Masukan (Input) bernilai Logika 1 dan jika ingin mendapatkan
Keluaran Logika 1, maka semua Masukan (Input) harus bernilai Logika 0.

Simbol dan Tabel Kebenaran Gerbang NOR (NOR Gate)

6. Gerbang X-OR (X-OR Gate)


X-OR adalah singkatan dari Exclusive OR yang terdiri dari 2 Masukan (Input) dan 1
Keluaran (Output) Logika. Gerbang X-OR akan menghasilkan Keluaran (Output)
Logika 1 jika semua Masukan-masukannya (Input) mempunyai nilai Logika yang
berbeda. Jika nilai Logika Inputnya sama, maka akan memberikan hasil Keluaran
Logika 0.

44
Simbol dan Tabel Kebenaran Gerbang X-OR (X-OR Gate)

7. Gerbang X-NOR (X-NOR Gate)


Seperti Gerbang X-OR, Gerban X-NOR juga terdiri dari 2 Masukan (Input) dan 1
Keluaran (Output). X-NOR adalah singkatan dari Exclusive NOR dan merupakan
kombinasi dari Gerbang X-OR dan Gerbang NOT. Gerbang X-NOR akan
menghasilkan Keluaran (Output) Logika 1 jika semua Masukan atau Inputnya bernilai
Logika yang sama dan akan menghasilkan Keluaran (Output) Logika 0 jika semua
Masukan atau Inputnya bernilai Logika yang berbeda. Hal ini merupakan kebalikan
dari Gerbang X-OR (Exclusive OR).

Simbol dan Tabel Kebenaran Gerbang X-NOR (X-NOR Gate)

Bila digambarkan dengan table kebenaran maka operasi lojik dasar memiliki table
sebagai berikut:
Gambar-gambar Gerbang Logika dan Penjelasaannya:

Output
A
OR
B

45
Ini adalah Gerbang OR, Gerbang ini adalah Gerbang penjumlahan dari
masing-masing input yang ada dan akan menghasilakn Output 0 atau 1.
Contoh :

Input A Input B Output


0 0 0
0 1 1
1 0 1
1 1 1

Output
A
NOR
B

Ini adalah Gerbang NOR ( Not OR ),Gerbang ini adalah kebalikan dari
OR,jika nilai yang dihasilkan Gerbang OR adalah 1 maka NOR adalah 0,dan
begitupun sebaliknya.
Contoh :

Input A Input B Output


0 0 1
0 1 0
1 0 0
1 1 1

Output
A
AND
B

Ini adalah Gerbang AND,Gerbang ini adalah Gerbang perkalian dari


masing-masing input yang ada dan akan menghasilakn Output 0 atau 1.

46
Contoh :

Input A Input B Output


0 0 0
0 1 0
1 0 0
1 1 1

Output
A
NAND
B

Ini adalah Gerbang NAND ( Not AND ),Gerbang ini adalah kebalikan dari
Gerbang AND,jika nilai yang dihasilkan Gerbang AND adalah 1 maka
NAND adalah 0,dan begitupun sebaliknya.
Contoh :

Input A Input B Output


0 0 1
0 1 1
1 0 1
1 1 0

Output
A
NOT
B

Ini adalah Gerbang NOT,Gerbang NOT adalah Gerbang yang jika inputnya
1 maka outpunya 0 dan jika inputnya 0 maka outpunya 1.
Contoh :

Input Output
1 0
0 1

47
Output
A
XOR
B

Ini adalah Gerbang XOR,Gerbang ini adalah Gerbang yang jika Inputnya
sama maka outpunya 0,namun jika Inputnya berbeda outputnya 1.
Contoh :

Input A Input B Output


0 0 0
0 1 1
1 0 1
1 1 0

Rumus dari penyelesaian soal di Gerbang Logika adalah :

Rumus
(n=2) (22=4)

Jika teman-teman menemukan soal dengan 3 input berarti (n = 3).(23 =


8), dan berarti jumlah input yang harus teman-teman hitung adalah
sebanyak 8 kali.
Contoh:
Tabel Kebenaran

Input A Input B Input C Output


0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1

48
Cukup mengerti kan teman-teman ?, jadi nilai yang Input C itu standarnya
adalah 0101, dan Input yang B adalah kelipatan 2 dari nilai 0 dan 1, dan
yang A adalah nilai kelipatan 4 dari input B.
Didalam Gerbang Logika tidak mengenal Pembagian,disini yang kita
lakukakan adalah Penjumlahan dan Perkalian saja,bagi teman-teman yang
sudah paham dengan Perkalian dan Penjumlahan bilangan biner tentu saja
materi ini akan mudah dimengerti.
Dan bagi teman-teman yang belum begitu paham dengan Penjumlahan
dan Perkalian bilangan Biner silahkan dipelajari dulu,karena materi ini
sangat berhubungan sekali dengan pemahaman teman-teman mengenai
Bilangan Biner.
Silahkan teman-teman perhatikan baik-baik Contoh soal dibawah ini,disini
saya akan mencoba untuk gerbang logika yang menggunakan 3 input
dengan menggunakan Gerbang AND.
Caranyapun sama dengan yang diatas,namun disini kita mencoba
menggunakan (n=3) atau (23=8),berarti jumlah input yang harus kita
hitung adalah 8 kali.
Contoh Soal :

Output
A
B AND
B

49
Jawab :
Tabel Kebenaran

Input A Input B Input C Output


0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1

Soal diatas adalah soal Gerbang AND dengan 3 masukan, yang mana
Gerbang ini adalah gerbang Perkalian dari masing-masing Input.
Disini saya akan mencoba membuat Operasi Gerbang Logika dengan
NOR,NAND dan OR menjadi satu,caranya sama seperti diatas dengan 3
masukan, akan tetapi disini ada 3 Gerbang yang harus kita hitung,
berdasarkan dengan penjelasan saya diawal tadi.

Contoh :

a b c

NOR

OR
NAND

50
Jawab :
Tabel Kebenaran

A B C NOR NAND OR ( Output )


0 0 0 1 1 1
0 0 1 0 1 1
0 1 0 0 1 1
0 1 1 0 1 1
1 0 0 0 1 1
1 0 1 0 1 1
1 1 0 0 1 1
1 1 1 0 0 0

Penjelasan :
Bahwa Inputnya ada di A,B dan C.Nilai A,B dan C akan dikalikan dengan
menggunakan metode dari Gerbang NOR yang mana gerbang ini adalah penjumlahan
dari inputnya dan menghasilkan output kebalikan dari penjumlahan itu sendiri.Dan
Gerbang NAND sama seperti gerbang NOR,yang mana gerbang ini adalah perkalian
dari inputnya dan menghasilkan output kebalikan dari perkalian itu sendiri.Dan
Outputnya adalah Gerbang OR yang mana hasil dari Gerbang ini adalah Penjumlahan
antara Gerbang NOR dan NAND.
Jangan sampai salah yah teman-teman,jika Gerbang NAND itu berarti kebalikan hasil
dari perkalian Gerbang AND dan Gerbang NOR itu berarti kebalikan hasil dari
penjumlahan Gerbang OR.
2.4 Peta Karnaugh
Peta karnough adalah metode penyederhanaan persamaan logika/rangkaian
logika dengan peta yang disusun mirip dengan table kebenaran.Penyelesaian masalah
peta karnaugh sebenarnya tidak rumit,namun adakalanya perlu pemahaman logika
mendalam.
Peta Karnaugh ini bertujuan untuk menyederhanakan suatu gerbang logika yang
memiliki 2 input atau lebih dengan hanya 1 output.

51
Gambar Peta Karnaugh.
Contoh Peta Karnaugh dengan 2 Input.

1 0

0 1

Contoh Peta Karnaugh dengan 3 Input.

000 001 011 010

1 1 0 1
100 101 111 110

1 1 0 1

Cara Kerja Peta Karnaugh.


Diatas bisa kita lihat Peta Karnaugh dengan 2 Input,di daerah Kolom ada angka 0 dan
1 begitu juga di daerah baris ada 0 dan 1,itu berarti peta karnaugh dengan 2 masukan.
Dan nilai X dan Y adalah variable dari Gerbang Logika yang sebelumnya dibuat dan
akan disederhanakan dengan menggunakan peta karnaugh
Jika kita menemukan suatu Gerbang Logika yang rumit maka kita bias
menyederhanakannya dengan Peta Karnaugh, dan cara penyelesaiannyapun tidak
begitu rumit, namun yang perlu teman-teman perhatikan adalah,bahwa yang bisa
kita sederhanakan adalah jika Outputnya bernilai 1,dan Output yang bernilai 0 kita
abaikan saja,dan yang perlu teman-teman perhatikan juga adalah Output yang bernilai
1 itu 22 harus berposisi Horizontal ataupun Vertikal,jika tidak berposisi vertical
maupun horizontal maka hasil Output 1 tidak dapat disederhanakan.

52
Contoh Gerbang Logika yang dapat Disederhanakan : 2 Input
f(x.y)=(x+y)+x.y
x y

NOR

OR
NAND

Tabel Kebenaran

x y (x+y) x.y (x+y)+x.y


0 0 0 0 0
0 1 1 0 1
1 0 1 0 1
1 1 1 1 1

Peta Karnaughnya menjadi :


Peta Karnaugh

Y
Y

0 1

Y 1 1
X + Y

Maka Gerbang Logika yang telah disederhanakan menjadi :


f(x.y)=x+y

x y Output

OR

Ini adalah Gerbang Logika yang sudah disederhanakan, maka hasilnya adalah
menjadi x+y.

53
Dari pengerjaan diatas bisa kita lihat bahwa Peta Karnaugh bekerja dengan
memanfaatkan nilai Output 1 yang Horizontal maupun Vertikal,diatas bisa teman-
teman lihat bahwa sudut yang pertama adalah mengarah kepada variable X,sedangkan
sudut yang kedua mengarah keatas kepada variable Y,maka bisa kita simpulkan
bahwa hasil akhirnya ialah x + y,dengan begitu Gerbang Logika penyederhanaannya
adalah x + y dengan hasil Otput dengan Gerbang OR.
Contoh Gerbang Logika yang dapat disederhanakan : 3 Input
f(x,y,z)=(x+y+z) y.z
x y z

OR

AND NAND

Tabel Kebenaran

x y z (x+y+z) y.z (x+y+z)yz1


0 0 0 0 0 1
0 0 1 1 0 1
0 1 0 1 0 1
0 1 1 1 0 0
1 0 0 1 1 1
1 0 1 1 0 1
1 1 0 1 0 1
1 1 1 1 1 0

Peta Karnaughnya menjadi :


Peta Karnaugh

Y,Z

1 1 0 1

1 1 0 1

Y Z1

54
Maka Gerbang Logika yang telah disederhanakan menjadi :

f(x.y,z)=y1 + yz1
y z

AND

OR

Ini adalah Gerbang Logika yang sudah disederhanakan,maka hasilnya adalah menjadi
Y1+Z1.
Dari pengerjaan diatas bisa kita lihat bahwa Peta Karnaugh bekerja dengan
memanfaatkan nilai Output 1 yang Horizontal maupun Vertikal, diatas teman-teman
bisa lihat bahwa disitu angka 1 adalah yang berarti (aksen), jadi disini variable Z
sudah tidak digunakan lagi karena variable X adalah bernilai 0, dan yang diambil
adalah variable y dan z, maka bisa kita simpulkan bawa hasil akhirnya ialah Y1 + Z1,
dengan begitu Gerbang Logika penyederhanaannya adalah Y1 + Z1 dengan hasil
Output adalah Gerbang OR.
Silahkan teman-teman coba kerjakan beberapa Soal dibawah ini, agar dapat lebih
memahami apa yang sudah saya contohkan dan jabarkan di atas.
Latihan Soal :
1. Ubahahlah nilai dibawah ini dengan Gerbang Logika.
f ( x , y )1 + x ( x + y )
2. Rangkaian Logika
f( x , y ) = xy + y1
x y

AND

Tentukan Tabel Kebenaran dari Rangkaian di atas :

55
3. Rangkaian Logika
f( x , y , z) =( x1y + z )1 + ( x + y ) z
x y z

NAND

OR

OR AND OR

• Tentukan Tabel Kebenaran


• Peta Karnaugh
• Gerbang Penyederhanaan

4. Tabel Kebenaran

X Y Z OR AND NAND
0 0 0 0 0 1
0 0 1 1 0 1
0 1 0 1 0 1
0 1 1 1 1 0
1 0 0 1 0 1
1 0 1 1 0 1
1 1 0 1 0 1
1 1 1 1 1 0

 Gambarkan Rangkaian Logika dari Tabel diatas


 Peta Karnaugh
 Rangkaian Penyederhanaan
4. Rangkaian Logika
x y z

XOR

AND AND
OR

• Tentukan Tabel Kebenaran


• Peta Karnaugh
• Rangkaian Penyederhanaan
56
Soal-Soal Latihan
1. Buktikan identitas dari persamaan Boolean berikut dengan menggunakan
manipulasi aljabar:
a) X + XY = X
b) XY + XY’ = X
c) X + X’Y = X + Y
d) (X+Y)(X+Y’) = X
e) X’Y’ + X’Y + XY = X’ + Y
f) A’B + B’C + AB + B’C = 1
g) Y + X’Z + XY’
2. Diketahui bahwa A+B = 1 dan A.B = 0, buktikan bahwa BC + A’B + AC =
C+B
3. Sederhanakan ekspresi-ekspresi Boolean berikut:
a) ABC + ABC’ + A’B
b) (A+B)’(A’+B’)
c) A’BC + AC
d) XY + X(WZ + WZ’)
4. Tentukan komplemen dari ekspresi-ekspresi berikut:
a) XY’ + X’Y
b) (A’B + C) D + E’
c) AB(C’D + CD’) + A’B’(C’ + D)(C + D’)
d) (X + Y’ + Z)(W’Y’ + Z)(X+Y’Z’)

2.5 Pohon Semantik (Semantic Tree)


Metode lain untuk pengujian (testing) validitas suatu kalimat adalah semantic-
tree technique, yang lebih efisien dibanding dengan metode truth-table. Teknik
semantic-tree ini akan diilustrasikan dengan suatu contoh. Perhatikan bahwa kalimat
G : if(if P then Q) then (if (not P) then (not Q))
Adalah valid.
Perhatikan dua kemungkinan nilai-nilai kebenaran untuk P, yang mewakili
pemilihan dalam bentuk tree.

57
Dalam semantic tree di atas, ditunjukkan bahwa P bernilai true dalam node 2, yaitu
dengan menandai setiap pemunculan P dalam kalimat G dengan huruf T (dari true).

Node 2 : if (if P then Q) then (if(not P) then (not Q))


T T

Mulai dari P, selanjutnya tentukan nilai kebenaran untuk kalimat-kalimat bagian Q


yang lebih besar. Meskipun P bernilai true, aturan if-then belum bisa digunakan untuk
menentukan nilai kebenaran antecedent (if P then Q) dengan tanpa mengetahui nilai
kebenaran Q. Karena P true, maka nilai kalimat bagian (not P) adalah false (dengan
aturan nol); yaitu
Node 2 : if (if P then Q) then (if(not P) then (not Q))
T F T
Karena (not P) false, maka dengan aturan if then consequent (if (not P) then (not Q))
bernilai true, meskipun tidak diketahui apakah (not Q) bernilai true atau false.
Sehingga peroleh
Node 2 : if (if P then Q) then (if(not P) then (not Q))
T T F T
Karena consequent if(not F) then (not Q)) true, maka keseluruhan kalimat G bernilai
true, yaitu:
Node 2 : if (if P then Q) then (if(not P) then (not Q))
T T T F T
Dari hasil analisa ini, selanjutnya bisa dirangkum dalam bentuk tree sebagai berikut:

58
Sampai di sini telah diperlihatkan bahwa nilai G di node 2 adalah true deugan
menandai node dengan T.
Analisa selanjutnya adalah pada node 3, di mana P bernilai false.
Node 3 : if (if P then Q) then (if(not P) then (not Q))
F F
Karena P bernilai false, kalimat-kalimat bagian (if P then Q) dan (not P) keduanya
bernilai true masing dengan aturan if-then dan not); yaitu diperoleh
Node 3 : if (if P then Q) then (if(not P) then (not Q))
TF T F

Sayangnya jika antecedent dari suatu implikasi bernila true, aturan if-then belum bisa
digunakan untuk menentukan nilai kebenaran suatu implikasi tanpa terlebih dahulu
mengetahui apakah consequent nya bernilai true atau false. Sehingga tanpa dengan
mengetahui apakah (not Q) bernilai true atau false, nilai kebenaran dan consequent (if
(not P) then (not Q)) belum bisa ditentukan, dan tentunya tanpa dengan mengetahui
nilai kebenaran dan consequent (if (not P) then (not Q)) kita belum bisa menentukan
nilai kebenaran dan keseluruhan kalimat G. Oleh karena itu analisa kita di node 3
disebut inconclusive.

59
Mulai dari node 3 (untuk kasus di mana P bernilai false), kita perhatikan dua
kemungkinan kebenaran untuk Q yaitu :
Pada node 4, Q bernilai true, maka dengan menerapkan aturan-aturan not dan if-
then, diperoleh sebagai berikut
Node 4 : if (if P then Q) then (if(not P) then (not Q))
F TF T F T F FT

Singkatnya nilai kebenaran kalimat G di node 4 adalah false.


Sebaliknya, pada node 5, Q bernilai false. Sehingga dengan menerapkan aturan-
aturan semantik seperti sebelumnya, maka diperoleh
Node 4 : if (if P then Q) then (if(not P) then (not Q))
T TF F T T F T F

Sehingga kalimat G bernilai true pada node 5.


Rangkuman hasil-hasil dari analisa di atas diperoleh semantic tree untuk kalimat G
sebagai berikut:

Dengan mengamati terhadap semantic tree yang dihasilkan, maka bisa


disimpulkan bahwa G tidak valid. Node 4 berlabel F, menandakan bahwa kalimat G
bernilai false di bawah tasi yang bersesuaian, dalam hal ini P bernilai false dan Q
bernilai true.
Jika dijumpai bahwa kalimat bernilai true di akhir setiap cabang (branch) dan tree
(yaitu, jika node akhir berlabel T), disimpulkan bahwa kalimatnya valid.
2.6 Pembuktian Dengan Falsifikasi (Proof by falsicification)
Suatu metode alternatif untuk pengujian validitas kalimat disebut proof
falsification. Seperti biasa perhatikan kalimat berikut:
E: if ((not P) or (not Q)) then (not(P and Q))
Selanjutnya akan diperlihatkan bahwa kalimat E valid.

60
Pertama-tama diandaikan E tidak valid, berarti E bernilai false di bawah suatu
interpretation I hal ini kita tunjukkan dengan memberi catatan (annotation) di bawah
konektif if dengan huruf F.

Kemudian dengan aturan-aturan., konektif akan diusahakan untuk bisa


menunjukkan suatu kontradiksi, yaitu untuk memperlihatkan bahwa kejadian ini
tidak boleh terjadi.
Dengan aturan if-then, antecedent ((not P) or (not Q)) dan consequent (not (P and Q))
masing-masing mempunyai nilai kebenaran true dan false di bawah interpretasi I,
yaitu

Nilai kebenaran dari antecedent ((not P) or (not Q)) tidak bisa digunakan
untuk menentukan nilai-nilai kebenaran dan kalimat-kalimat bagiannya (not P) dan
(not Q) secara tunggal (ingat aturan or).
Karena consequent (not (P and Q)) bernilai false, kalimat bagiannya (P and Q)
bernilai true. Kemudian dengan menerapkan aturan and, maka kedua simbol
proposisional P dan Q masing-masing bernilai true. Sehingga

Keterangan : indeks menunjukkan urutan penurunan.


(Yang diarsir menandakan suatu kontradiksi). Berarti telah terjadi pertentangan
(contradiction) dengan asumsi awal, yaitu bahwa kalimat E bernilai false di bawah
suatu interpretasi I. Dengan kata lain asumsi yang dibuat tidak benar, berarti E valid.

61
2.7 Skema Kalimat Valid (Valid Sentence Schemata)
Dalam bagian ini akan digunakan sentences sebagai satu kesatuan dengan
simbol-simbol script E, G, H, ada menggunakan simbol-simbol proposisional biasa P,
Q R S... . Simbol-simbol semacam ini bisa mewakili sebarang kalimat dalam
propositional logic. Sebagai contoh, apabila F or (not F) adalah valid, maka bisa untuk
menyimpulkan bahwa kalimat-kalimat
P or (not P), Q or (not Q), (P and Q) or (not(P and Q)),

dan keluarga tak-hingga (infinitely families) dan kalimat-kalimat yang lain semuanya
valid. Secara tidak sentences semacam ini akan disebut sebagai sentence schema (atau
skema kalimat).
Katalog (Catalog)
Dalam bagian ini kami akan menyajikan katalog beberapa skema kalimat valid
yang sangat penting.
• Kalimat-kalimat valid dasar

• Aturan true-false

62
• Komutatifitas

• Asosiatifitas

• Transifitas

• Hukum Kontrapositif

• Distributifitas

63
• Aturan negasi

• Hukum Reduksi

2.8 Konjungsi dan Disjungsi Multi (Multiple Conjunction and Disjunction)


Pembaca mungkin memperhatikan bahwa, karena sifat asosiatifitas maka
berlaku ((F and G) and H if and only if (F and (G and H))
Sehingga kalimat-kalimat seperti:

dan seterusnya, semuanya ekuivalen. Untuk itu, kadang-kadang pasangan kurung bisa
dihilangkan, seperti
P and Q and R and S.
Sehingga konjungsi multi (multiple conjunction) seperti
F1 and F 2 and F3 and... and Fn merupakan cara singkat untuk menuliskan ((... ((F1
and F2) and F3) and...) and Fn).
Secara serupa, disjungsi multi (multiple disjunction) seperti
64
F1 or F 2 or F3 or... or Fn
merupakan cara sigkat untuk menuliskan
((... ((F1 or F2) or F3) or...) or Fn).
Selanjutnya bisa diturunkan aturan-aturan semantik untuk konektif-konektif multi
berikut:
• Konjungsi Multi - Multiple Conjunction
F1 and F2 and F3 and... and Fn
bernilai true precisely when masing-masing “konjung” (conjuct)-nya F1 , F2, F3,
... dan Fn bernilai true.
• Disjungsi Multi - Multiple Disjunction
F1 or F2 or F3 or... or Fn
bernilai true precisely when paling sedikit satu dari “disjung” (disjunct)-nya F1, F2, ...
dan Fn bernilai true.
2.9 Substitusi (Substitution)
Selanjutnya, akan dibedakan antara penggantian keseluruhan (total
substitution) dengan penggantian sebagian (partialsubstitution)
Substitusi Total - Total Substitution
Operator memungkinkan melakukan penggantian terhadap semua pemunculan
kalimat bagian dari kalimat yang dibenikan dengan kalimat bagian lain.
Definisi (subtitusi total – total substitution)
Jika F, G, dan H merupakan kalimat-kalimat, maka substitusi total dengan notasi

Merupakan kalimat yang dihasilkan dari penggantian semua pemunculan G dalam F


dengan H.

Contoh (Substitusi total)


Hasil substitusi total berikut Adalah

Perhatikan juga bahwa jika kalimat bagian yang akan diganti tidak muncul dalam
kalimat, substitusi tidak akan berpengaruh.
Sehingga hasil dari

65
Catatan – Remark (konjungsi dan disjungsi multi)
Dalam menerapkan operator substitusi, kita hams mengingat kembali bahwa
konjungsi multi
F1 and F2 and...and Fn
merupakan cara tulis singkat untuk kalimat

Oleh karena itu kalimat

maksudnya adalah

Sehingga hasilnya adalah kalimat

Akan tetapi, oleh karena itu kalimat

Menghasilkan (P and Q R, yaitu kalimat itu sendiri. Karena (Q and R) tidak muncul
dalam kalimat.
Catatan serupa juga berlaku untuk disjungsi multi.
F1 or F2 or … or Fn
Operator substitusi mempunyai sifat-sifat sederhana berikut:

Operator substitusi bisa didistribusikan atas komponen-komponen dalam


kalimat. Atau secara lebih tepatnya, perhatikan

Substitusi Parsial Partial Substitution


Operator yang analog dengan yaitu memungkinkan kita untuk mengganti

66
beberapa, tetapi tidak perlu semuanya, pemunculan-pemunculan kalimat bagian,
kalimat bagian dari kalimat yang diberikan dengan kalimat yang lain.
2.9.1 Definisi Substitusi Parsial (Partial Substitution)
Jika F, G, dan H merupakan kalimat-kalimat, maka substitusi parsial dengan
notasi

Merupakan kalimat yang dihasilkan dari penggantian nol, atau satu, atau
dua, ..., atau semua pemunculan G dalam F dengan H.

Ini agak bertentangan dengan operator substitusi total

operator substitusi parsial tidak perlu menunjukkan suatu kalimat


tertentu, melainkan bisa menunjuk beberapa kalimat.
Contoh (Substitusi parsial)
Perhatikan substitusi parsial berikut

Hasilnya adalah

Catatan - Remark
Untuk sebarang kalimat-kalimat F, G, dan H, kalimat yang ditunjukkan oleh substitusi
total

merupakan salah sam kalimat yang mungkin ditunjuk oleh substitusi parsial

Ini karena kalimat yang diperoleh dengan mengganti semua pemunculan G dalam F
dengan H adalah salah satu dari kalimat-kalimat yang diperoleh dengan mengganti
nol, satu, atau lebih pemunculan dari G dalam F dengan H.
Operator substitusi parsial adalah invertible dalam arti bahwa salah satu dari
hasil-hasil yang mungkin dan substitusi parsial adalah F sendiri. Sebagai contoh,

67
P or Q
adalah salah satu hasil yang mungkin dari

Sebaliknya, operator substitusi total adalah tidak-invertible. Sebagai contoh,


perhatikan bahwa

adalah P or P, dan bukan (P or Q)


Selanjutnya, jika dua operator bersama-sama juga mempunyai sifat bahwa salah satu
dan substitusi yang mungkin dari adalah F sendiri.
Sebagai contoh satu dari hasil-hasil yang mungkin dari substitusi

adalah P or Q
2.9.2 Substitusi Multi - Multiple Subsitutión
Substitusi multi merupakan perluasan dan substitusi tunggal (atau substitusi
saja, yang kan dalam bagian sebelumnya). Dengan substitusi multi, bisa dilakukan
penggantian untuk dan sam kalimat bagian dalam suatu kalimat dengan kalimat
bagian-kalimat bagian lain.
Penggangian terhadap masing-masing kalimat bagian dilakukan secara bersamaan
(simultaneously). Sebagaimana dalam substitusi tunggal, dalam substitusi banyak juga
dibedakan antara substitusi total dan substitusi pansial.
2.9.3 Substitusi Multi Total Total Multiple Substitution
Jika F, G1, G2, ..., Gm, dan H1, H2, ..., Hm merupakan kalimat-kalimat, maka
substitusi total dengan notasi

merupakan kalimat yang dihasilkan dan penggantian semua pemunculan G1, G2,
..., Gm dalam F masing-masing dengan H1, H2, .., Hm.

68
Sebagai contoh, perhatikan substitusi parsial berikut

Hasil dari substitusi tersebut adalah kalimat if((P and Q) and Q) then (P or R) else
(P or R)
2.9.4 Substitusi Multi Parsial - Partial Multiple Substitution
Secara serupa, substitusi parsial multi didefinisikan sebagai berikut.
Jika F, G1, G2, ..., Gm dan H1, H2, ..., Hm merupakan kalimat-kalimat, maka
substitusi parsial dengan notasi.

merupakan kalimat yang dihasilkan dari penggantian nol satu, ..., atau semua
pemunculan G1, G2, ..., Gm, dalam F masing-masing dengan H1, H2, ..., Hm.
Sebagai contoh, perhatikan substitusi parsial berikut

bisa menunjukkan sebarang kalimat-kalimat, meliputi

{mengganti pemunculan pertama dan P}

{mengganti pemunculan (Q or R)}

{mengganti pemunculan pertama dari P, dan


pemunculan (Q or R) }

69
{mengganti kedua pemunculan pertama dari P, dan
pemunculan Q or R)}
Secara keseluruhan, substitusi parsial di atas bisa menunjukkan delapan
kalimat. Perhatikan bahwa, penggantian-penggantian dalam substitusi multi
dilakukan secara simultan dalam sam tahap. Sehingga hasil dan substitusi total

adalah kalimat Q (ingat bukan K). Berbeda dengan substitusi total berulang

hasilnya adalah kalimat R


Bagaimana dengan subtitusi total berikut:

Dalam kasus ini, kalimat bagian P muncul dalam kalimat bagian (P or Q), dan
keduanya akan diganti. Menurut kesepakatan (aturan), bahwa kalimat bagian paling
besar (outermost subsentence), dalam hal ini (P or Q) adalah kalimat bagian yang
terpilih untuk diganti. Sehingga, hasil dari substitusi total di atas adalah kalimat S dan
bukan kalimat (R or Q)

2.9.5 Interpretasi Diperluas (Extended Interpretation)

Definisi (Interpretasi Diperluas - Extended Interpretation)


Jika I adalah suatu interpretasi, p merupakan sebarang simbol proposisional,
dan π suatu nilai kebenaran (yaitu, true atau false), maka interpretasi diperluas
(extended interpretation)
<ρ←τ>oI
interpretasi yang memberi nilai τ ke p dan yang memberi ke semua simbol-simbol
proposisional selain p dengan nilai-nilai kebenaran sama seperti nilai-nilai kebenaran
yang diberikan I pada semua simbol proposisional selain p tersebut.
Dengan kata lain, I dan <ρ←τ>oI memberi nilai kebenaran yang sama ke
simbol-simbol proposisional selain p.
Perhatikan bahwa, dalam definisi di atas, I mungkin sudah memberi nilai
kebenaran ke p. Hal ini, nilai sebelumnya diganti dengan nilai yang baru dalam

70
interpretasi diperluas, dengan baru ρ←τ. Jelasnya jika I tidak memberi nilai apapun
ke suatu symbol proposisional selain ρ, maka bukan interpretasi diperluas.
Sebagai contoh, perbatikan interpretasi I dengan Q ← true dan R← false.
Maka retasi diperluas, dengan merupakan interpretasi dengan P ← false, Q ← true
dan R ←false. Selanjutnya, interpretasi diperluas <Q ← false> o I merupakan
interpretasi di mana Q ← false, dan R ← false. Pemberian awal untuk Q oleh I telah
diganti (superseeded).
Suatu interpretasi bisa diperluas beberapa kali dalam waktu berurutan.
Sehingga untuk suatu interpretasi I, simbol-simbol proposisional ρ1, ρ2, ... , ρn dan
nilai-nilai kebenaran τ1, τ2, ... , τn, maka notasi

merupakan cara tulis singkat untuk multply extended interpretation (m.e.i)

Penjelasan,
jika ρ1 dan ρ2 berbeda, maka dua multzply extended interpretations berikut

berbeda untuk sebarang nilai-nilai kebenaran τ1 dan τ2 . Sebaliknya, jika r1 dan t2


merupakan nilai-nilai kebenaran yang berbeda, maka dua multipiy extended
interpretations berikut

Berbeda multiply extended interpretation pertama, yaitu

identik dengan <P←τ>oI , sementara yang kedua,

yaitu identik dengan

Sebagai contoh perhatikan lagi suatu interpretasi I di mana Q ← true dan R ← false
maka <P ← true > o <Q ← false> o <P←false> o I merupakan interpretasi di mana P
← true, Q ← false, dan R ← false.
Dalam contoh di atas, conflicting assignments terhadap P muncul dalam multiply
extended interpretation, tetapi pemberian nilai paling kiri, yaitu P ← true

71
menggantikan pembenian nilai paling kanan, P← false. Demikian juga, Q ← false
dalam multiply extended menggantikan pemberian nilai awal ke Q di bawah I.
2.9.6 Kesepakatan (Agreement)
Definisi (Agreement)
Dua interpretasi I dan J agree-on suatu kalimat F apabila:
Nilai dari F dibawah I sama dengan nilai dari F dibawah J, atau baik I maupun J
bukan merupakan interpretasi untuk F.
Sebagai contoh, perhatikan dua interpretasi I dan J dengan

dan

Maka I dan I agree-on kalimat Q karena nilai Q false di bawah masing-masing


interpretasi I dan J. Demikian interpretasi I dan J agree-on kalimat R, karena baik I
maupun J bukan merupakan interprestasi untuk R. Sebaliknya, I dan J tidak agree-on
kalimat P, karena P bernilai true di bawah I sementara P bernilai false di bawah
interpretasi J.
Selanjutnya I dan J agree-on kalimat (P and Q), karena kalimat (P and Q) bernilai
false di bawah masing-masing interpretasi I dan J. Demikian juga I dan J agree-on
kalimat ((P or ) and R), karena baik I maupun J bukan merupakan interpretasi untuk
kalimat ((P or Q) and R). Sebaliknya, I dan tidak agree-on kalimat (P or Q), karena
kalimat (P or Q) bernilai true di bawah I sementara (P or Q) bernilai false di bawah J.
2.9.7 Proposition (agreement)
Apabila dua interpretasi untuk suatu kaliniat F agree-on masing-masing
simbol proposisional dan F, maka dua interpretasi tersebut agree-on F.
Proposisi ini secara intuitif sangat jelas. Karena dengan menerapkan aturan-aturan
semantik yang sania dalam menentukan nilai kebenaran dan F di bawah masing-
masing interpretasi akan menghasilkan nilai kebenaran sama pada setiap tahapan.
Sebagai contoh, perhatikan kalimat F: P or Q dengan interpretasi-interpretasi

karena I dan J agree-on simbol-simbol proposisional P dan Q dan F, maka kita bisa
menyimpulkan bahwa I dan J agree-on F.

72
Observasi berikut menghubungkan pengertian agreement dengan pengertian extended
interpretation.

2.9.8 Catatan (Remark)


Seandainya F merupakan kalimat dan I merupakan interpretasi untuk F. Misal
ρ1, ρ2,…, ρn merupakan simbol-simbol proposisional yang tidak muncul dalam F,
dan τ1, τ2, …. τn merupakan sebarang nilai-nilai kebenaran.
Maka multiply extended interpretation
J:<ρ1← τ1 > 0 < ρ2← τ2 >0 … 0<ρn← τn >0I dan I sendiri agree-on F.
2.10 Ekuivalensi (Equivalence)
2.10.1 Implikasi dan Validitas (Implication and Validity)
Sudah ditegakkan suatu hubungan antara pengertian implikasi dan validitas,
khususnya telah diperlihatkan bahwa untuk sebarang dua kalimat F dan G, berlaku
F implies G precisely when (if F then G) valid.
2.10.2 Proposition (implikasi dan validitas)
Untuk sebarang dua kalimat F dan G, jika F implies G maka jika F valid maka

G valid
Bukti :
Menurut proposisi di atas diketahui bahwa, F implies G dan F valid, dan akan
diperlihatkan bahwa G valid.
Untuk membuktikan bahwa G valid, cukup dipenlihatkan bahwa, untuk sebarang
interpretasi untuk G, G bernilai true di bawah interpretasi I.
Diketahui bahwa F bernilai true di bawah setiap interpretasi untuk F (karena
diketahui F valid), akan tetapi jika ada beberapa simbol yang proposisional yang
muncul dalam F dan muncul dalam G, maka I belum cukup untuk menjadi interpretasi
untuk F (karena ada kemungkinan bahwa I tidak meng-assign suatu nilai kebenaran ke
suatu simbol proposisional dalam F). Selanjutnya, kita akan memperluas interpretasi I
menjadi suatu interpretasi untuk F sebagai berikut:
Misal ρ1, ρ2, ... , ρn merupakan semua simbol proposisional muncul dalam F tetapi
tidak muncul dalam G, dan missal τ1, τ2, ... , τn merupakan sebarang nilai-nilai
kebenaran, true atau false.
Maka interpretasi yang diperluas

73
adalah suatu interpretasi baik untuk F maupun untuk G.
Karena menurut yang diketahui bahwa F valid, berarti (dengan definisi
validitas) kita tahu bahwa F bernilai true di bawah J.
Karena diketahui bahwa F implies G, kita bisa simpulkan (dengan definisi) bahwa G
bernilai true di bawah J.
Karena ρ1, ρ2, ... , ρn tidak muncul dalam G, (dengan definisi J) bahwa I dan J agree-
on simbol-simbol proposisional dan G.
Sehingga (dengan proposisi agreement) I dan J agree-on G, yaitu, G
mempunyai nilai kebenaran sama di bawah I maupun J. Karena kita telah
membuktikan bahwa G bernilai true di bawah J, maka bisa disimpulkan bahwa G
bernilai true di bawah I.
Karena I merupakan sebarang interpretasi untuk G maka terbukti bahwa G
valid, seperti yang akan kita perlihatkan
2.10.3 Ekuivalensi dan Validitas (Equivalence and Validity)
Dalam bagian ini akan diperlihatkan suatu sifat serupa dan relasi ekuivalensi.
Sebelumnya sudah diperlihatkan bahwa dua kalimat F dan G ekuivalen precisely
when kalimat (F if and only if G) valid, dan dua kalimat F dan G ekuivalen pretisely
when F implies G dan G implies F
2.10.3.1 Proposition (ekuivalensi dan validitas)
Untuk sebarang dua kalimat F dan G,
jika F dan G ekuivalen, maka F valid precisely when G valid.
2.10.3.2 Rantai Ekuivalensi (Chains Of Equivalences)
Dalam katalog telah disebutkan bahwa penghubung ekuivalensi mempunyai
sifat transitif, yaitu:

Merupakan kalimat valid. Secara khusus, hubungan ekuivalensi antara kalimat-


kalimat adalah transitif, jika F ekuivalen G dan G ekuivalen H, maka F ekuivalen G.
Sifat ini memberi suatu cara lain untuk pembuktian validitas kalimat-kalirnat
tertentu, yang disebut metode chain-of equivalent.
Seandainya akan dibuktikan validitas kalimat F. Maka harus bisa ditemukan suatu
barisan kalimat-kalimat F1, F2, ..., Fn sedemikian hingga

74
Maka kita bisa menyimpulkan bahwa F merupakan kalimat valid.
Karena F ekuivalen dengan F1 dan F1 ekuivalen dengan F2, maka (dengan
hubungan transitifitas -ekuivalensi) kita simpulkan bahwa F ekuivalen dengan F2. Dan
karena F2 juga ekuivalen dengan F3, maka (dengan hubungan transitifitas ekuivalensi
lagi) kita simpulkan bahwa F ekuivalen dengan F3.
Dengan mengulang penggunaan hubungan transit j/itas-ekuivalensi, akhirnya
bisa disimpulkan bahwa F ekuivalen dengan Fn.
Selanjutnya, karena F diketahui valid, maka (dengan proposisi ekuivalensi-
dan-validitas) kita bisa menyimpulkan bahwa F valid.
Contoh (Validitas)
Misal akan diperlihatkan validitas kalimat
F: if not (not P) then (P and (P or Q)
Kalimat
F1 : if P then (P and (P or Q))
ekuivalen dengan F, (dengan substitutivitas-ekuivalensi), karena F1 diperoleh dari F
dengan mengganti antecedent (not (not P)) dengan P, dan (menurut katalog kita).
not (not P) ekuivalen dengan P
Kalimat
F2: if P then P
ekuivalen dengan F1, (dengan substitutivitas-ekuivalensi lagi), karena F2 diperoleh
dan F1 dengan mengganti consequent (P and (P or Q)) dengan P, dan (menurut
katalog kita), maka
P and (P or Q) ekuivalen dengan P
Kalimat F2 diketahui (menurut katalog) sebagai kalimat valid.
Sehingga bisa digunakan metode rantai-ekuivalensi (chain-of equivalence) untuk
menyimpulkan bahwa F valid.
Karena F ekuivalen dengan F1, F1 ekuivalen dengan F2, dan F2 diketahui valid.
75
Soal - Problems
Dalam menyelesaikan masalah (atau soal), bisa digunakan suatu hasil atau
teknik yang dalam teks sebelum referensi halaman untuk soal. Di samping itu, bisa
juga digunakan hashdan suatu masalah sebelumnya, dan hasil-hasil dari bagian
sebelumnya dan masalah yang sama
Soal (validitas validity)
Perhatikan kalimat-kalimat berikut:

Beberapa kalimat di atas adalah valid dan sebagian tidak valid. Temukan kalimat-
kalimat mana yang tidak valid dan bentuk intepretasi-intepretasi di mana (under
which) mereka bernilai false. Buktikan validitas kalimat-kalimat yang lain,
menggunakan metode-metode berikut, yaitu tabel kebenaran (truth tables), semantic
trees, dan proof b falsification (optional, gunakan masing-masing metode paling
sedikit satu kali.
Soal (Penghubung bersyarat Conditional connective).
Skema kalimat valid (not F) if and only f (if F then falce else true)
menerangkan bahwa konektif negasi not bisa diuraikan (paraphrased) ke dalam temis
dan konektif kondisional if-then-else dan simbol-simbol kebenaran true dan false.
Selanjutnya, perlihatkan bahwa konektif-konektif lain (seperti, and, or, if then, dan if
and-only- bisa diuraikan dengan cara yang sama, menggunakan kalimat yang hanya
memuat if then-else, true, dan false.
Contoh Soal
(Daerah pembohong dan orang jujur - The land of the liais and truth teller)
Gunakan logika proposisional untuk menyelesaikan permasalahan berikut.
Suatu negara semua penghuninya adalah orang-orang yang selalu berkata
benar atau orangorang yang selalu berkata bohong, dan yang akan menjawab
pertanyaan hanya dengan kata “ya” atau “tidak”.

76
Seorang pendatang (turis) menjumpai jalan bercabang, di mana cabang satu
menuju ke restoran dan cabang lain tidak. Sayangnya tidak ada sama sekali tanda
yang membentahu cabang mana yang harus diambil, tetapi ada penduduk disebut Pak
X yang berdiri di percabangan.
Pertanyaan ya (tidak) apa yang bisa digunakan turis lapar untuk memilih
cabang menuju restoran?
Hint (Petunjuk).
Misal P untuk “Pak X selalu berkata kebenaran”, dan Q untuk “Cabang ke kiri
menuju ke restoran”. Tugas kita adalah mencari kalimat F dalam terms P dan Q
sedemikian hingga bahwa, apakah atau tidakkah Pak X berkata benar, jawaban
mereka terhadap pertanyaan “Apakah F true ?“, jawabannya akan ya jika Q bemilai
true. Konstruksikan tabel kebenaran untuk F, dalam terms P dan CQ Selanjutnya buat
rancangan suatu kalimat F yang sesuai.

77
BAB 3
RELASI DAN FUNGSI

3.1 Relasi
Relasi menyatakan hubungan antara anggota suatu himpunan dengan anggota
himpunan lainnya. Anggota yang saling berpasangan dinyatakan dalam bentuk relasi
himpunan A dan himpunan B.
Contoh sederhananya adalah Kartu Keluarga. Misalnya keluarga A memiliki 3
anggota di dalamnya yaitu Anang, Asyanti, dan Aurel yang masing-masing berstatus
sebagai kepala keluarga, istri, dan anak.
Anang, Asyanti, dan Aurel dikategorikan sebagai himpunan A (anggota keluarga),
sedangkan kepala keluarga, istri, dan anak dikategorikan sebagai himpunan B (status
hubungan dalam keluarga).
Bila dijabarkan hasilnya seperti ini:
• Anang adalah kepala keluarga
• Asyanti adalah istri
• Aurel adalah anak
Dalam konsep matematikanya kamu bisa menuliskannya seperti ini:
(Anang, kepala keluarga), (Asyanti, istri), (Aurel, anak)
3.1.1 Relasi Biner
· Relasi biner R antara himpunan A dan B adalah himpunan bagian dari A x B.
• Notasi: R ⊆ (A x B).
• a R b adalah notasi untuk (a, b) ∊ R, yang artinya a dihubungankan dengan b oleh
R
• a R b adalah notasi untuk (a, b) ∉ R, yang artinya a tidak dihubungkan oleh b
oleh relasi R.
• Himpunan A disebut daerah asal (domain) dari R, dan himpunan B disebut daerah
hasil (range) dari R.
Contoh: Misalkan
A = {Amir, Budi, Cecep}, B = {IF221, IF251, IF342, IF323}
A x B = {(Amir, IF221), (Amir, IF251), (Amir, IF342), (Amir, IF323), (Budi,
IF221), (Budi, IF251), (Budi, IF342), (Budi, IF323), (Cecep, IF221),
(Cecep, IF251), (Cecep, IF342), (Cecep, IF323) }

78
Misalkan R adalah relasi yang menyatakan mata kuliah yang diambil oleh mahasiswa
pada Semester Ganjil, yaitu:
R = {(Amir, IF251), (Amir, IF323), (Budi, IF221), (Budi, IF251), (Cecep, IF323) }
• Dapat dilihat bahwa R ⊆ (A x B),
• A adalah daerah asal R, dan B adalah daerah hasil R.
• (Amir, IF251) ∊ R atau Amir R IF251
• (Amir, IF342) ∉ R atau Amir R IF342.

Contoh:
Misalkan P = {2, 3, 4} dan Q = {2, 4, 8, 9, 15}.
Jika kita definisikan relasi R dari P ke Q dengan:
(p, q) R jika p habis membagi q, maka kita peroleh:
R = {(2, 2), (2, 4), (4, 4), (2, 8), (4, 8), (3, 9), (3, 15) }

3.1.2 Representasi Relasi

1) Representasi Relasi dengan Diagram Panah


A B P Q

Amir . . IF221 2 2
. IF251 4
Budi . 3 8
. IF342
9
. IF323
Cecep . 4 15

A A

2 2
3 3
4 4
8 8
9 9

79
2) Representasi Relasi dengan Tabel
Kolom pertama tabel menyatakan daerah asal, sedangkan kolom kedua
menyatakan daerah hasil.

Tabel 1 Tabel 2 Tabel 3

A B P Q A A
Amir IF251 2 2 2 2
Amir IF323 2 4 2 4
Budi IF221 4 4 2 8
Budi IF251 2 8 3 3
Cecep IF323 4 8 3 3
3 9
3 15

3) Representasi Relasi dengan Matriks


• Misalkan R adalah relasi dari A = {a1, a2, …, am} dan B = {b1, b2, …, bn}.
• Relasi R dapat disajikan dengan matriks M = [mij],

b1 b2 ... bn
a1 m11 m12 … m1n
a2 m21 m22 … m2n
. . . . .
M= . . . . .
. . . . .

am mm1 mm2 … mmn

yang dalam hal ini:

1, (ai, bi) ∊ R
mij =
0, (ai, bi) ∉R

4) Representasi Relasi dengan Graf Berarah


• Tiap elemen himpunan dinyatakan dengan sebuah titik (disebut juga simpul
atau vertex), dan tiap pasangan terurut dinyatakan dengan busur (arc).
• Pasangan terurut (a, a) dinyatakan dengan busur dari simpul a ke simpul a
sendiri. Busur semacam itu disebut gelang atau kalang (loop).

80
Contoh:
Misalkan R = {(a, a), (a, b), (b, a), (b, c), (b, d), (c, a), (c, d), (d, b)}
adalah relasi pada himpunan {a, b, c, d}.
R direpresentasikan dengan graf berarah sbb:

a b

c d

3.1.3 Sifat-Sifat Relasi Biner

1) Refleksif (Reflexive)
• Relasi R pada himpunan A disebut refleksif jika (a, a) ∊ R untuk setiap a ∊ A.
• Relasi R pada himpunan A tidak refleksif jika ada a ∊ A sedemikian sehingga
(a, a) ∉ R
Contoh :
Misalkan A = {1, 2, 3, 4}, dan relasi R di bawah ini didefinisikan pada
himpunan A, maka:
• Relasi R = {(1, 1), (1, 3), (2, 1), (2, 2), (3, 3), (4, 2), (4, 3), (4, 4)} bersifat
refleksif karena terdapat elemen relasi yang berbentuk (a, a), yaitu (1, 1), (2,
2), (3, 3), dan (4, 4).
• Relasi R = {(1, 1), (2, 2), (2, 3), (4, 2), (4, 3), (4, 4) } tidak bersifat refleksif
karena (3, 3) ∉ R.
Contoh :
Tiga buah relasi di bawah ini menyatakan relasi pada himpunan bilangan bulat
positif N.
R : x lebih besar dari y, S : x + y = 5, T : 3x + y = 10
Tidak satupun dari ketiga relasi di atas yang refleksif karena, misalkan (2, 2),
bukan anggota R, S, maupun T.
• Relasi yang bersifat refleksif mempunyai matriks yang elemen diagonal
utamanya semua bernilai 1, atau mii = 1, untuk i = 1, 2, …, n,

81
1
1
.
.
1
1

• Graf berarah dari relasi yang bersifat refleksif dicirikan adanya gelang pada
setiap simpulnya.
2) Menghantar (transitive)
Relasi R pada himpunan A disebut menghantar jika (a, b) ∊ R dan (b, c) ∊ R,
maka (a, c) ∊ R, untuk a, b, c ∊ A.
Contoh:
Misalkan A = {1, 2, 3, 4}, dan relasi R di didefinisikan pada himpunan A, maka:
• R = {(2, 1), (3, 1), (3, 2), (4, 1), (4, 2), (4, 3) } bersifat menghantar.
• R = {(1, 1), (2, 3), (2, 4), (4, 2) } tidak manghantar karena (2, 4) dan (4, 2) ∊ R,
tetapi (2, 2) ∉ R, begitu juga (4, 2) dan (2, 3) ∊ R, tetapi (4, 3) ∉ R.
• R = {(1, 1), (2, 2), (3, 3), (4, 4) } jelas menghantar
• R = {(1, 2), (3, 4)} menghantar karena tidak ada (a, b) ∊ R dan (b, c) ∊ R
sedemikian sehingga (a, c) ∊ R.
• Relasi yang hanya berisi satu elemen seperti R = {(4, 5)} selalu menghantar.
Contoh:
Tiga buah relasi di bawah ini menyatakan relasi pada himpunan bilangan bulat
positif N.
R : x lebih besar dari y, S : x + y = 6, T : 3x + y = 10
• R adalah relasi menghantar karena jika x>y dan y> z maka x> z.
• S tidak menghantar karena, misalkan (4, 2) dan (2, 4) adalah anggota S tetapi
(4, 4) ∉ S.
• T = {(1, 7), (2, 4), (3, 1)} tidak menghantar.
• Relasi yang bersifat menghantar tidak mempunyai ciri khusus pada matriks
representasinya.
• Sifat menghantar pada graf berarah ditunjukkan oleh: jika ada busur dari a ke
b dan dari b ke c, maka juga terdapat busur berarah dari a ke c.

82
3) Setangkup (symmetric) dan Tolak-setangkup (antisymmetric)
• Relasi R pada himpunan A disebut setangkup jika (a, b) ∊ R, maka (b, a) ∊ R
untuk a, b ∊ A.
• Relasi R pada himpunan A tidak setangkup jika (a, b) ∊ R sedemikian
sehingga (b, a) ∉ R.
• Relasi R pada himpunan A sedemikian sehingga (a, b) ∊ R dan (b, a) ∊ R
hanya jika a = b untuk a, b ∊ A disebut tolak-setangkup.
• Relasi R pada himpunan A tidak tolak-setangkup jika ada elemen berbeda a
dan b sedemikian sehingga (a, b) ∊ R dan (b,a) ∊ R.
Contoh:
Misalkan A = {1, 2, 3, 4}, dan relasi R didefinisikan pada himpunan A, maka:
• Relasi R = {(1, 1), (1, 2), (2, 1), (2, 2), (2, 4), (4, 2), (4, 4) } bersifat setangkup.
Di sini (1, 2) dan (2, 1) ∊ R, begitu juga (2, 4) dan (4, 2) ∊ R.
• Relasi R = {(1, 1), (2, 3), (2, 4), (4, 2) } tidak setangkup karena (2, 3) ∊ R,
tetapi (3, 2) ∉ R.

• Relasi R = {(1, 1), (2, 2), (3, 3) } tolak-setangkup karena 1 = 1 dan (1, 1) ∊ R,
2 = 2 dan (2, 2) ∊ R, dan 3 = 3 dan (3, 3) ∊ R. Perhatikan bahwa R juga
setangkup.
• Relasi R = {(1, 1), (1, 2), (2, 2), (2, 3) } tolak-setangkup. Perhatikan bahwa R
tidak setangkup.
Bagaimana dengan Relasi berikut?
• Relasi R = {(1, 1), (2, 4), (3, 3), (4, 2) }

• Relasi R = {(1, 2), (2, 3), (1, 3) }

• Relasi R = {(1, 1), (2, 2), (2, 3), (3, 2), (4, 2), (4, 4)}
Contoh:
Tiga buah relasi di bawah ini menyatakan relasi pada himpunan bilangan bulat
positif N.
R : x lebih besar dari y, S : x + y = 6, T : 3x + y = 10
• R bukan relasi setangkup karena, misalkan 5 lebih besar dari 3 tetapi 3 tidak
lebih besar dari 5.
• S relasi setangkup karena (4, 2) dan (2, 4) adalah anggota S.

83
• T tidak setangkup karena, misalkan (3, 1) adalah anggota T tetapi (1, 3) bukan
anggota T.
• S bukan relasi tolak-setangkup karena, misalkan (4, 2) ∊ S dan (4, 2) ∊ S tetapi
4 ≠ 2.
• Relasi R dan T keduanya tolak-setangkup (tunjukkan!).
• Relasi yang bersifat setangkup mempunyai matriks yang elemen-elemen di
bawah diagonal utama merupakan pencerminan dari elemen-elemen di atas
diagonal utama, atau mij = mji = 1, untuk i = 1, 2, …, n:

1
0

• Sedangkan graf berarah dari relasi yang bersifat setangkup dicirikan oleh:
jika ada busur dari a ke b, maka juga ada busur dari b ke a.
• Matriks dari relasi tolak-setangkup mempunyai sifat yaitu jika mij = 1 dengan i
≠ j, maka mji = 0. Dengan kata lain, matriks dari relasi tolak-setangkup adalah
jika salah satu dari mij = 0 atau mji = 0 bila i ≠ j:

1 0

1
0
1
0

• Sedangkan graf berarah dari relasi yang bersifat tolak-setangkup dicirikan


oleh: jika dan hanya jika tidak pernah ada dua busur dalam arah berlawanan
antara dua simpul berbeda.
3.1.4 Komposisi Relasi
Misalkan R adalah relasi dari himpunan A ke himpunan B, dan S adalah relasi
dari himpunan B ke himpunan C. Komposisi R dan S, dinotasikan dengan S o R,
adalah relasi dari A ke C yang didefinisikan oleh:
S o R = {(a, c) | a ∊ A, c ∊ C, dan untuk beberapa b ∊ B, (a, b) ∊ R dan (b, c) ∊ S}

84
Contoh:
Misalkan R = {(1, 2), (1, 6), (2, 4), (3, 4), (3, 6), (3, 8)} adalah relasi dari himpunan
{1, 2, 3} ke himpunan {2, 4, 6, 8} dan S = {(2, u), (4, s), (4, t), (6, t), (8, u)} adalah
relasi dari himpunan {2, 4, 6, 8} ke himpunan {s, t, u}.

Maka komposisi relasi R dan S adalah:

S o R = {(1, u), (1, t), (2, s), (2, t), (3, s), (3, t), (3, u) }

1 2 s

2 4 t

3 6 u

3.2 Fungsi
Fungsi diartikan sebagai relasi dari himpunan A ke himpunan B, dengan syarat
setiap anggota himpunan A harus punya satu pasangan dengan anggota himpunan B.
Lalu, bagaimana cara membedakan relasi dan fungsi?
Bedanya terletak pada aturan keanggotaan. Dalam pemasangan anggota himpunan A
dengan himpunan B tidak ada aturan khusus. Apabila 1 dari 3 anggota himpunan A
tidak memiliki pasangan di himpunan B, maka hal tersebut masih bisa dikategorikan
sebagai relasi, tapi bukan fungsi. Agar bisa dinyatakan sebagai fungsi, maka seluruh
himpunan A harus berelasi dengan himpunan B.
• Misalkan A dan B himpunan.
• Relasi biner f dari A ke B merupakan suatu fungsi jika setiap elemen di dalam A
dihubungkan dengan tepat satu elemen di dalam B.
• Jika f adalah fungsi dari A ke B kita menuliskan f : A  B yang artinya f
memetakan A ke B.
• A disebut daerah asal (domain) dari f dan B disebut daerah hasil (codomain) dari
f.
• Nama lain untuk fungsi adalah pemetaan atau transformasi.
• Kita menuliskan f(a) = b jika elemen a di dalam A dihubungkan dengan elemen b
di dalam B.
85
• Jika f(a) = b, maka b dinamakan bayangan (image) dari a dan a dinamakan pra-
bayangan (pre-image) dari b.
• Himpunan yang berisi semua nilai pemetaan f disebut jelajah (range) dari f.
Perhatikan bahwa jelajah dari f adalah himpunan bagian (mungkin proper subset)
dari B
A B

• •
a b

Fungsi dapat dispesifikasikan dalam berbagai bentuk, diantaranya:


1. Himpunan pasangan terurut. Seperti pada relasi
2. Formula pengisian nilai (assignment). Contoh:
f(x) = 2x + 10, f(x) = x2, dan f(x) = 1/x
3. Kata-kata
Contoh: “f adalah fungsi yang memetakan jumlah bit 1 di dalam suatu string
biner”.
4. Kode program (source code)
Contoh: Fungsi menghitung

Function abs(x:integer):integer;
begin
if x < 0 then
abs:=-x
else
abs:=x;
end;

Fungsi f dikatakan Satu-ke-satu (one-to-one) atau Injektif (injective) jika tidak ada
dua elemen himpunan A yang memiliki bayangan sama.

86
A B

a• • 1
• 2
b•
• 3
c• • 4
d• • 5

Contoh:
• f = {(1, w), (2, u), (3, v)}
dari A = {1, 2, 3} ke B = {u, v, w, x} adalah fungsi satu-ke-satu,
• f = {(1, u), (2, u), (3, v)}
dari A = {1, 2, 3} ke B = {u, v, w} bukan fungsi satu-ke-satu,
karena f(1) = f(2) = u.

Contoh:
Misalkan f : Z  Z. Tentukan apakah f(x) = x2 + 1 dan f(x) = x – 1 merupakan fungsi
satu-ke-satu?
Penyelesaian:
(i) f(x) = x2 + 1 bukan fungsi satu-ke-satu, karena untuk dua x yang
bernilai mutlak sama tetapi tandanya berbeda nilai fungsinya sama, misalnya
f(2) = f(-2) = 5 padahal –2 ≠ 2.
(ii) f(x) = x – 1 adalah fungsi satu-ke-satu karena untuk a ≠ b, a – 1 ≠ b –
1.
Misalnya untuk x = 2, f(2) = 1 dan untuk x = -2, f(-2) = -3
• Fungsi f dikatakan dipetakan Pada (onto) atau Surjektif (surjective) jika setiap
elemen himpunan B merupakan bayangan dari satu atau lebih elemen himpunan
A.
• Dengan kata lain seluruh elemen B merupakan jelajah dari f. Fungsi f disebut
fungsi pada himpunan B.

87
A B

a• • 1
b•
• 2
c•

d• • 3

Contoh:
• f = {(1, u), (2, u), (3, v)}
• dari A = {1, 2, 3} ke B = {u, v, w} bukan fungsi pada karena w tidak termasuk
jelajah dari f.
• f = {(1, w), (2, u), (3, v)}
• dari A = {1, 2, 3} ke B = {u, v, w} merupakan fungsi pada karena semua anggota
B merupakan jelajah dari f.
Contoh:
Misalkan f : Z  Z. Tentukan apakah f(x) = x2 + 1 dan f(x) = x – 1 merupakan fungsi
pada?
Penyelesaian:

(i) f(x) = x2 + 1 bukan fungsi pada, karena tidak semua nilai bilangan bulat
merupakan jelajah dari f.
(ii) f(x) = x – 1 adalah fungsi pada karena untuk setiap bilangan bulat y, selalu ada
nilai x yang memenuhi, yaitu y = x – 1 akan dipenuhi untuk x = y + 1.
Fungsi f dikatakan Berkoresponden Satu-ke-satu atau Bijeksi (bijection) jika ia
fungsi satu-ke-satu dan juga fungsi pada.
Contoh:
• f = {(1, u), (2, w), (3, v)}
dari A = {1, 2, 3} ke B = {u, v, w} adalah fungsi yang berkoresponden satu-ke-
satu, karena f adalah fungsi satu-ke-satu maupun fungsi pada.
• f(x) = x – 1 merupakan fungsi yang berkoresponden satu-ke-satu, karena f
adalah fungsi satu-ke-satu maupun fungsi pada.

88
Fungsi satu-ke-satu, Fungsi pada,
bukan pada bukan satu-ke-satu
A B A B

a• • 1 a• • 1
• 2 b•
b• • 2
• 3
c•
c• • 4 • 3
d•

Bukan fungsi satu-ke-satu Bukan fungsi


maupun pada
A B A B

a• • 1 a• • 1
b• • 2 b• • 2
• 3 •
c • c•
3
• 4
d • d•
• 4

3.3 Balikan (Invers)


a. Jika f adalah fungsi berkoresponden satu-ke-satu dari A ke B, maka kita dapat
menemukan balikan (invers) dari f.
b. Balikan fungsi dilambangkan dengan f–1. Misalkan a adalah anggota
himpunan A dan b adalah anggota himpunan B, maka f- -1(b) = a jika f(a) =
b.
Contoh
• f = {(1, u), (2, w), (3, v)}
dari A = {1, 2, 3} ke B = {u, v, w} adalah fungsi yang berkoresponden
satu-ke-satu. Balikan fungsi f adalah f -1 = {(u, 1), (w, 2), (v, 3)}
3.4 Komposisi
a. Komposisi dari dua buah fungsi.
b. Misalkan g adalah fungsi dari himpunan A ke himpunan B, dan f adalah fungsi
dari himpunan B ke himpunan C.

89
c. Komposisi f dan g, dinotasikan dengan f o g, adalah fungsi dari A ke C yang
didefinisikan oleh (f o g)(a) = f(g(a))
d. Diberikan g = {(1, u), (2, u), (3, v)}
yang memetakan A = {1, 2, 3} ke B = {u, v, w}, dan fungsi f = {(u, y), (v, x),
(w, z)} yang memetakan B = {u, v, w} ke C = {x, y, z}.
e. Fungsi komposisi dari A ke C adalah
f o g = {(1, y), (2, y), (3, x) }
Contoh
• Diberikan fungsi f(x) = x – 1 dan g(x) = x2 + 1.
Tentukan f o g dan g o f.

Penyelesaian:
(i) (f o g)(x) = f(g(x)) = f(x2 + 1) = x2 + 1 – 1 = x2.
(ii) (g o f)(x) = g(f(x)) = g(x – 1) = (x –1)2 + 1 = x2 - 2x + 2.

90
BAB 4
ALGORITMA

4.1 Kompetensi Dasar


Diharapkan setelah memahami konsep dasar Algoritma, mahasiswa
diharapkan memiliki kemampuan diri untuk:
1. Memperkuat cara berfikir kita untuk menyelesaikan suatu masalah
2. Membantu otak agar berfikir panjang
3. Memperkuat analisis ketika pembuatan program
4. Memperluas space berpikir
4.2 Pendahuluan
Kata Algoritma berasal dari nama ahli matematika, Mohammed Ibn-Musa
Al-Khwarizmi, yang merupakan bagian dari pengadilan kerajaan di Baghdad dan
yang hidup dari sekitar 780 hingga 850. Karya Al-Khwarizmi adalah dimana kata
aljabar juga berasal.
Algoritma adalah logika, metode dan tahapan “urutan” sistematis yang
digunakan untuk memecahkan suatu permasalahan. Algoritma, yang dapat juga
diartikan sebagai urutan langkah yang sistematis dan logis. Dalam perkembangannya,
Algoritma banyak dipakai terutama pada bidang computer.
Secara spesifik, algoritma adalah sebuah metode khusus yang tepat dan terdiri
dari serangkaian langkah yang terstruktur, dituliskan secara matematis yang akan
dikerjakan untuk menyelesaikan suatu masalah dengan bantuan komputer. Jadi
berdasarkan definisi dari ini, dapat dikatakan algoritma merupakan langkah
penyelesaian suatu masalah yang menghasilkan solusi dalam bentuk program
komputer
Mengacu pada penjelasan apa yang dimaksud dengan algoritma di atas, ini
dapat digambarkan sebagai prosedur atau formula untuk pemecahan masalah.
Algoritma dapat digunakan secara luas di berbagai bidang, pemrograman komputer,
matematika, dan kehidupan sehari-hari.
Algoritma, mempunyai tujuan dan fungsi yang berkaitan, adapun beberapa
tujuan dan fungsi algoritma yang perlu kita ketahui adalah sebagai berikut:
1. Memecahkan masalah rumit; Dengan menggunakan fungsi algoritma, maka
akan lebih mudah untuk memecahkan masalah yang rumit.

91
2. Menjadikan masalah menjadi lebih sederhana; Dengan menggunakan fungsi
algoritma, maka kita dapat menjadikan masalah yang besar menjadi Masalah
yang lebih sederhana.
3. Algoritma dapat digunakan berulang kali; Tujuan dan fungsi algoritma juga
dapat digunakan untuk penggunaan secara berulang atau lebih dari satu kali.
4. Memudahkan dalam pembuatan program; Algoritma dapat memudahkan kita
untuk membuat program, salah satu cara untuk mempermudahnya yaitu dengan
membuat flow chart terlebih dahulu sebelum membuat program.
5. Mengatasi masalah dengan logika; Dengan algoritma, maka kita dapat
mengatasi segala masalah dengan logika.
6. Meminimalisir penulisan program yang berulang-ulang; Algoritma dapat
digunakan untuk memudahkan kita menulis program yang berulang-ulang.
4.3 Pengertian Algoritma
Untuk dapat menyelesaikan persoalan-persoalan yang kita hadapi, kita perlu
menyusun langkah-langkah atau strategi. Misalnya pada suatu saat, kita hendak
makan, tetapi yang tersedia hanya nasi tanpa lauk. Kemudian terpikir oleh kita untuk
membuat telur dadar. Kita pun segera menyusun langkah-langkah untuk membuat
telur dadar. Pertama kita ambil ltelur dan bumbu-bumbu yang diperlukan. Kedua,
membuat bumbu dan mengocoknya bersama telur. Ketiga, menyiapkan perlengkapan
masak. Ke empat, mulai menggoreng telur, dan kelima telur siap dihidangkan. Dalam
dunia pemrograman pun demikian. Untuk dapat menyelesaikan masalah (problem
solving), harus disusun dahulu langkah-langkah penyelesaiannya yang dinamakan
algoritma.
Algoritma berasal dari kata algorism, yaitu nama penulis buku arab yang terkenal,
Abu Ja’far Muhammad Ibnu Musa al-Khowarizmi. Dalam bidang pemograman,
algoritma didefinisikan sebagai berikut:
Algoritma adalah kumpulan instruksi/perintah/langkah yang berhingga jumlahnya,
dituliskan secara sistematis, dan digunakan untuk menyelesaikan masalah/persoalan
logika dan matematika dengan bantuan komputer.
Contoh:
Algoritma untuk mencari luas lingkaran
1. Algoritma dengan struktur bahasa Indonesia
a. Beri nilai phi dengan 3.14
b. Masukan jari-jari lingkaran
92
c. Kalikan phi dengankuadratjari-jarinya
d. Tuliskan hasilnya
2. Algoritma dengan pseudocode
Phi3.14
Input (R)
L  phi * R^2
Output (L)
3. Algoritma dengan flowchart program

Start

Phi = 3.14

Input R

L = phi*R^2

Print L

End

Pseudocode
Pseudocode berasal dari kata pseudo (mirip/menyerupai) dan code, yang berarti kode
yang mirip dengan kode program yang sebenarnya.
Sebagai contoh, algoritma yang ditulis dengan pseudocode untuk menyelesaikan
permasalahan akan menukarkan isi dari dua nilai yang berbeda, yaitu A = 10 dan B =
20.
CB
BA
AC
Output (A,B)

93
Flowchart (Bagan Alir)
Flowchart program adalah suatu bagan yang menggambarkan atau mempresentasikan
suatu algoritma atau prosedur untuk menyelesaikan masalah.
Flowchart terbagi menjadi dua, yaitu flowchart system dan flowchart program.
Flowchart System
Yaitu bagan yang menggambarkan suatu prosedur dan proses suatu file dalam suatu
media menjadi file dalam media yang lain dalam suatu sistem data.
Simbol yang digunakan :

: pita magnetik

: keyboard

: storage

: input/output

: proses

: magnetic tape

: arah proses

Contoh:

Keyboard

CPU Diskette

Storage/
penyimpanan

94
Soal dan Penyelesaian
1. Tulislah algoritma (pseudocode) untuk mencari rata-rata dari 2 bilangan yang
dinputkan.
Penyelesaian :
Input(x,y)
Zx+y
Rerata Z/2
Output(Rerata)
End

2. Tulislah algoritma (pseudocode) untuk mencari keliling dan luas suatu bola.
Penyelesaian :
Input(R)
Phi  3.14
Kel 4*phi*R^2
Luas Kel*R^3
Output(Kel, Luas)
End

3. Tulislah algoritma (pseudocode) untuk menentukan apakah bilangan yang


diinputkan adalah bilangan yang habis dibagi 7 atau tidak.
Penyelesaian :
Input(bil)
IF bil MOD 7 = 0 THEN
Output(“bil tersebut habis dibagi 7”)
ELSE
Output(“bil tersebut tidak habis dibagi 7”)
ENDIF
End

4. Tulislah algoritma (pseudocode) untuk mencari keliling sebuah segi tiga siku-
siku, dimana inputnya adalah panjang dan tinggi segitiga siku-siku.
Penyelesaian :
Input(p,t)
Sisimiring (p^2 + t^2)^0.5
Kelp+t+sisimiring
Output(Kel)
End

5. Tulislah algoritma (pseudocode) untuk meminta masukan tiga buah bilangan, dan
kemudian akan menampilkan bilangan terbesar.

95
Penyelesaian :
Input(a,b,c)
IF a>b AND a>c THEN
Output(“bilterbesaradalah”, a)
ELSE
IF b>a AND b>c THEN
Output(“bilterbesaradalah”, b)
ELSE
Output(“bilterbesaradalah”,c)
ENDIF
ENDIF
End

6. Tulislah algoritma (pseudocode) untuk menampilkan suatu teks yang bertuliskan


“ZhafifHylmiNaryama” sebanyak 20 kali.

Penyelesaian :
FOR k  1 TO 20
Output(“Zhafif Hylmi Naryama”)
NEXT k

7. Buatlah algoritma (pseudocode) untuk menghitung jumlah deret dari n bilangan


asli yang pertama.
Penyelesaian :
FOR m  1 TO n
Input(bilangan)
IF bilangan MOD 2 <>0 THEN
JumlahJumlah + bilangan
ENDIF
NEXT k
Output (Jumlah)

Soal-Soal Latihan
1. Apa pengertian dari algoritma pemograman komputer?
2. Bagaimana penyajian algoritma?
3. Jelaskan apa yang dimaksud dengan pseudocode dan flowchart program.
4. Sebutkan tiga struktur dasar dari algoritma.
5. Buatlah pseudocode dan flowchart program untuk :
Menghitung rata-rata dari lima bilangan yang diinputkan oleh user.
6. Mengonversi suhu derajat Celcius kedalam derajat Kelvin.

96
7. Mengonversi jam kedalam menit atau detik.
8. Menghitung luas dan keliling segitiga sama sisi.
9. Menghitung gaji seorang buruh bangunan selama sebulan, dengan ketentuan
gaji per hari Rp. 20.000,-.
10. Menentukan apakah tahun yang diinputkan termasuk tahun kabisat/bukan.
11. Menentukan suatu bilangan bulat positif, ganjil atau genap.
12. Menentukan akar-akar persamaan kuadrat, + bx + c = 0, D = – 4ac.
13. Menampilkan tulisan “logika dan algoritma sebanyak 99 kali”.
14. Menampilkan bilangan ganjil antara 1 sampai 10.
15. Menampilkan bilangan prima antara 2 sampai 50.
16. Menghitung jumlah deret : 1+5+9+13+….+Un.
17. Menghitung rata-rata dari n bilangan yang diinputkan oleh user.
18. Menghitung jumlah dari n bilangan yang diinputkan oleh user, tetapi hanya
bilangan ganjil.
19. Menghitung jumlah dari n bilangan deret aritmatika, dengan input nilai awal,
selisih/beda, dan banyakanya bilangan.
20. Menghitung jumlah dari n bilangan deret geometri, dengan input nilai awal,
rasio, dan banyaknya bilangan.

97
BAB 5
ELEMEN DASAR PEMROGRAMAN

5.1 Kompetensi Dasar


Diharapkan setelah mempelajari elemen dasar pemrograman mahasiswa akan
memahami:
- Elemen Dasar dalam Pemrograman, Tipe data Majemuk, dan Tipe data
Terstruktur.
- Aturan Leksikal, Token, Komentar, Identifier, Keywords (Reserved Words),
dan Operator.
5.2 Pendahuluan
1. Elemen-elemen dalam Bahasa Pemrograman meliputi:
a. Aturan Leksikal
Aturan yang digunakan dalam membentuk suatu deklarasi, definisi, maupun
statement hingga menjadi satu program yang utuh.
b. Token
Yaitu element terkecil pada bahasa pemrograman yang memiliki arti
penting bagi compiler. Yang termasuk token antara lain: identifier,
keywords(reserved words), operator, dan sebagainya.
c. Komentar
Teks (kumpulan karakter) yang diabaikan oleh Compiler. Komentar sangat
berguna untuk memberi catatan mengenai bagian program tertentu sebagai
referensi baik bagi programmer itu sendiri maupun orang lain
Contoh bahasa C :
/* Program mencetak hello world
Oleh: Saya */
void main() {
// Cetak hello World
// Oleh Saya
printf(“Hello World”);
}
d. Identifier
Identifier merupakan kumpulan karakter yang digunakan sebagai penanda
untuk nama variable, nama tipe data, fungsi, prosedur, dan sebagainya.
e. Keywords (Reserved Words)

98
Keywords atau Reserved words merupakan kata-kata yang telah
ada/didefinisikan oleh bahasa pemrograman yang bersangkutan. Kata-kata
tersebut telah memiliki definisi yang sudah tetap dan tidak dapat diubah.
f. Operator
Operator digunakan untuk menyatakan suatu perhitungan/ operasi
1) Arithmetic Operator
2) Assignment Operator
3) Bitwise dan Logical Operator
4) Relational Operator
5) Pointer Operator
2. Pengertian Dasar Program adalah rangkaian instruksi-instruksi dalam bahasa
komputer yang disusun secara logika dan sistematis.
3. Pengertian Pemrograman adalah suatu kumpulan urutan perintah ke komputer
untuk mengerjakan sesuatu, dimana instruksi tersebut menggunakan bahasa yang
dimengerti oleh komputer atau dikenal dengan bahasa pemrograman.
4. Konsep Dasar Pemrograman pada umumnya adalah IPO (Input Proses Output),
lalu dikembangkan mejadi :
Originating -> input -> proses -> Output -> Distribution
||
Storage

Konsep Dasar Pemrograman


a. Originating
Berhubungan dengan pengumpulan data yang biasanya merupakan
pencatatan data kedokumen dasar. Setelah dikumpulkan dilakukan proses
input.
b. Input
Tahapan ini merupakan proses pemasukan data kedalam proses komputer
melalui peralatan input.
c. Proses
Tahap ini merupakan proses pengolahan data dari data yang sudah diinput
berupa proses menghitung membandingkan, mengurutkan,
mengklasifikasikan, mengendalikan dan mencari di storage.

99
d. Output
Tahap ini merupakan proses untuk menghasilkan keluaran dari proses
pengolahan data ke peralatan output berupa informasi (monitor, speaker, dsb)
e. Distribution
Tahap ini merupakan proses penyebaran informasi kepada pihak-pihak yang
berhak dan membutuhkan informasi.
f. Storage
Tahap ini merupakan perekaman hasil pengolahan data storage yang
nantinya dapat dipergunakan untuk input proses selanjutnya.
5. Data
Data adalah bahan mentah yang akan diolah menjadi informasi sehingga dapat
dipergunakan oleh user atau pemakai.
a. Tipe Data Dasar : Merupakan tipe data primitif yang tidak terstruktur yang
didefinisikan oleh bahasa pemrograman.
Tipe data dasar dibagi menjadi lima bagian yaitu :
1) Numerik, yaitu menyimpan data berupa angka
2) Enumerasi, yaitu suatu urutan list dari nilai-nilai yang berbeda.
3) Boolean, yaitu tipe data untuk merepresentasikan True atau False.
4) Character, yaitu tipe data untuk menyimpan rangkaian karakter.
5) Internationalization, disebut I18N
b. Tipe Data Terstruktur : Merupakan tipe data campuran dari berbagai tipe
data dasar. Contohnya array, record, string, list dan file.
c. Tipe Data didefinisikan oleh Pemakai : Tipe data ini biasanya disebut
Enumerasi.
d. Tipe Data Penunjuk : Contoh tipe data penunjuk adalah pointer
6. Model Komputasi
Model Komputasi adalah suatu kumpulan dari nilai dan operasi-operasi. Ada 3
dasar model komputasi :
a. Model Fungsional, yaitu model perhitungan yang fungsional terdiri dari
satu set nilai-nilai, fungsi dan operasi, aplikasi, fungsi dan komposisi
fungsi.
b. Model Logika, yaitu logika model perhitungan terdiri dari suatu set nilai-
nilai, definisi hubungan dan kesimpulan logis.

100
c. Model Imperative, yaitu model perhitungan yang imperative terdiri dari
satu set nilai-nilai yang mencakup suatu status dan operasi tugas-tugas
untuk memodifikasi status tersebut.
5.3 Tipe Data, Variabel, dan Konstanta
Variabel adalah nama yang memiliki nilai data di mana nilai tersebut dapat
berubah pada saat program dieksekusi. Pada setiap Bahasa pemrograman, pemberian
nilai kedalam variabel (assignment) mempunyai bentuk penulisan yang berbeda-
beda.Pada Bahasa pemograman QBasic, di depan penulisan variable diberikan symbol
untuk setiap jenis data yang diwakilinya.
TIPE DATA SIMBOL KETERANGAN
String $ A..Z, a..z, 0..9, sertasimbol
Integer % Bilanganbulat -32768 sampai +32767
Long integer & Bilanganbulat -2147483648 sampai
+2147483647
Single ! -3.37E+38 sampai 3.37E+38
Precision
Double # -1.67D+308 sampai 1.67D+308
Precision

Pada pemograman dengan Bahasa QBasic, penulisan variable memiliki syarat


sebagai berikut:
 Maksimum 40 karakter
 Tidak menggunakan special character seperti tanda baca dan spasi
Konstanta adalah suatu data yang sifatnya tetap. Ada dua tipe konstanta, yaitu:
1. Konstanta Untai/String/Alphanumerik
Contoh: “Halooo”, “Logika dan Algoritma”, 0274884201, 02.02.99999
2. Konstanta Numerik
Konstanta Bulat, contoh: 100, 212, 13
Konstanta Rill, contoh: 3.14, 123.45, 0.99
Konstanta Eksponensial (titik mengambang), contoh: 3.447896E+2,
6.12345D+5
5.4 Operator
Operator simbol digunakan untuk mengoperasikan suatu nilai data. Beberapa
operator yang umum disediakan oleh Bahasa pemograman QBasic adalah:
1. Operator Aritmatika
Digunakan untuk mengoperasikan data-data numeric seperti penjumlahan,
perkalian, pembagian, dan sebagainya.
101
SIMBOL FUNGSI CONTOH KETERANGAN
^ pemangkatan 2^10 Hasil = 1024
* perkalian 5*2 Hasil = 10
/ pembagian 5/2 Hasil = 2.5
\ Pembagian integer 5/2 Hasil = 2
MOD Sisapembagian 5 MOD 2 Hasil = 1
+ penjumlahan 5+2 Hasil = 7
- pengurangan 5-2 Hasil = 3

2. Operator Relasi
Digunakan untuk mewakili sebuah nilai logika (Boolean), dari suatu
persamaan atau nilai yang dibandingkan sehingga dapat memutuskan sebuah
masalah yang mempunyai dua kemungkinan atau lebih.

SIMBOL FUNGSI CONTOH


= Samadengan X=10
> Lebihbesardari X>10
< Lebihkecildari X<10
<> Tidaksamadengan X<>10
>= Lebihbesaratausamadengan X>=10
<= Lebihkecilatausamadengan X<=10

3. Operator Logika
Digunakandalam proses operand secaralogis, yaitu :
OPERATOR KETERANGAN
LOGIC
NOT Membalikannilaidarisebuah operand
AND Hasilnya TRUE hanyajikakedua operand bernilai
TRUE
OR Hasilnya TRUE hanyajikasalahsatuataukedua operand
bernilai TRUE
XOR Hasilnya TRUE apabilakedua operand berbeda
EQV Hasilnya TRUE bilakedua operand bernilaisama
IMP Hasilnya TRUE jikahanyajika operand pertama TRUE
dan operand keduabernilai TRUE

4. Operator Fungsi
Dapat berupa fungsi SIN, SQR, ABS, UCASE$, LCASE$, dan lainnya
yang disediakan oleh Bahasa pemograman QBasic.
5. Operator String
Digunakan misalnya untuk menggabungkan dua atau lebih variable
string atau konstanta string.
102
Soal-Soal Latihan
1. Apa yang dimaksud dengan variable, tipe data, dan konstanta?
2. Sebutkan aturan-aturan penulisan variable.
3. Apa yang dimaksud dengan operator dan operand?
4. Sebutkan macam-macam operator yang digunakan pada pemograman.
5. Apa fungsi operator-operator berikut? Berilah contohnya.
a. SQR
b. SQRT
c. UCASE
d. LCASE
e. ABS

103
BAB 6
BAHASA PEMROGRAMAN

6.1 Kompetensi Dasar

Kompetensi Dasar Buku ini dirancang bagi pembaca yang sudah pernah
belajar pemrograman sebelumnya, namun masih awam mengenai dunia pemrograman
kompetitif. Terdapat sejumlah kompetensi dasar yang perlu Mahasiswa kuasai untuk
dapat memahami materi pada buku ini secara maksimal. Mahasiswa diharapkan
untuk:
1. Memahami konsep pemrograman dan mampu menulis program secara umum.
2. Mengetahui jenis-jenis tipe data primitif seperti bilangan bulat, bilangan riil,
boolean, dan karakter.
3. Mengetahui konsep tipe data komposit seperti record (Pascal), struct(C), atau
class (C++ dan Java).
4. Memahami konsep dan mampu menulis struktur percabangan if pada program.
5. Memahami konsep dan mampu menulis struktur perulangan menggunakan for
dan while pada program.
6. Memahami konsep array, baik yang berdimensi satu maupun lebih.
7. Memahamikonsepsubprogramberupafungsidanprosedur.
8. Memahami konsep rekursi, mampu mengidentifikasi basis dan hubungan
rekursif dari suatu permasalahan, dan mampu menuliskannya pada program.
9. Mampu Menghitung Kompleksitas Waktu Dan Memori Dari Suatu Algoritma
Dan menyatakannya dalam notasi big-Oh.

6.2 Bahasa Pemograman QBasic


Saat memulai pengoperasian bahasa pemograman Qbasic, diperlukan sebuah
file executable beranama QBASIC.EXE. Untuk mulai masuk ke lingkungan
QBASIC, diperlukan langkah-langkah sebagai berikut:
1. Carilah file QBASIC.EXE tersimpan. Bila file tersebut berada pada drive C
direktori QB, masuklah ke direktori tersebut. Kemudian, ketiklah file
executable tersebut diikuti ENTER.
C:\QBasic>QBASIC<enter>
2. Akan muncul menu editor seperti tampak pada gambar berikut, yang berarti
anda sudah berada pada lingkungan QBasic dan siap untuk membuat serta
menjalankan sebuah program.

104
Gambar 1. Menu Editor QBasic
Lingkungan QBasic
Pada menu editor QBasic, disediakan menu-menu atau submenu-submenu yang dapat
digunakan untuk melakukan semua proses dalam pembuatan program.
Item dari menu ini diantaranya berupa:
 Menu FILE (tekan ALT+F)
Terdapat submenu-submenu dengan fungsi tertentu, yaitu :
- Mengosongkan editor untuk memulai penulisan program baru
- Membuka program yang tersimpan
- Menyimpan file
- Mencetak program ke printer
- Keluar dari QBASIC

 Menu EDIT (tekan ALT+E)


Berhubungan dengan operasi penyuntingan program, seperti memoting dan
menyalin teks, membuat kepala dan akhir subrutin/fungsi.

 Menu VIEW (tekan ALT+V)


Secara umum untuk melihat jendela hasil program.

 Menu SEARCH (tekan ALT+S)


Untuk mengganti dan mencari teks program.

 Menu RUN (tekan ALT+R)


Untuk menjalankan atau mengeksekusi program.

105
 Menu DEBUG (tekan ALT+D)
Untuk melakukan debugging (pencarian kesalahan program secara bertahap).
 Menu OPTION (tekan ALT+O)
Untuk mengatur display dan path.

Menulis Program
Untuk menulis program baru, pilih menu File|New Program atau tekan (Alt+F),
kemudian pilih menu New Program. Layar editor akan kosong dan siap ditulisi
program baru.
Contoh program:
CLS
PRINT "SELAMAT DATANG DI PEMOGRAMAN QBASIC"
PRINT "==================================="
PRINT
PRINT "Nama : Zhafif Hylmi Naryama"
PRINT "Umur : 1 tahun"
PRINT
PRINT "==================================="
END

Setelah selesai menuliskan program, Anda dapat menjalankan/ mengeksekusinya.

Mengeksekusi Program
Untuk menjalankan program/perintah yang ada di editor, pilih menu Run | Start atau
tekan (Shift+F5). Hasil yang akan tampak pada layar adalah sebagai berikut:

SELAMAT DATANG DI PEMOGRAMAN QBASIC


============================
Nama : Zhafif Hylmi Naryama
Umur : 1 tahun
============================
Press any key to continue

Tekan sembarang tombol untuk mengakhiri dan kembali ke menu editor.

Menyimpan Program
Program yang telah Anda buat atau modifikasi sebaiknya disimpan di dalam disk
dapat dipanggil dengan perintah:

106
File | Open Program. Selanjutnya, ketik file program atau arahkan kursor ke file
program yang dikehendaki. Program akan segera ditampilkan ke layar editor.
Keluar dari QBasic
Untuk keluar dari QBasic dan kembali ke sistem operasi, perintah yang diperlukan
adalah: File | Exit.
6.3 Perintah Dasar QBasic
Suatu siklus pemrosesan data dimulai dengan memasukan data, proses, dan
penampilan informasi. Untuk memasukkan data dan menampilkan informasi,
dibutuhkan instruksi-instruksi masukan dan keluaran yang merupakan instruksi yang
digunakan untuk membaca nilai data dari peranti masukan seperti keyboard, dan
menampilkannya melalui piranti keluaran seperti monitor dan printer.

Instruksi Input Dasar


1. Instruksi LET dan SWAP
Instruksi LET digunakan untuk memasukan sebuah nilai ke dalam variabel.

Bentuk Umum : LET Var = nilai

Contoh:

LET phi = 3.14

Instruksi SWAP digunakan untuk menukar isi dua buah variable yang telah
diinputkan.

Bentuk Umum : SWAP var1,var2

Contoh:

A=2
B=5
SWAP A, B
PRINT A, B

Setelah dilakukan penukaran isi variable dengan instruksi SWAP, sekarang


nilai B menjadi 2 dan nilai A menjadi 5.

2. Instruksi READ-DATA

107
Merupakan alternative perintah LET untuk data yang sangat banyak.

Bentuk Umum: READ var1[,var2,…]


DATA data1[,data2,…]

Contoh:

READ A,B,C,D,E,nama$,Nilai
DATA 10,20,30,40,50,”Aprilya”,90

Keterangan:
Akan diberikan nilai A = 10, B =20, C = 30, D = 40, E = 50, nama$ =
“Aprilya”, Nilai = 90
 Jenis variabel harus sama dengan jenis data yang dibaca
 Jumlah data harus sama atau lebih besar dari jumlah variabel

3. Instruksi RESTORE
Nilai yang tertera pada instruksi DATA hanya dapat dibaca satu kali dengan
isntruksi READ. Agar nilai tersebut dapat dibaca kembali, gunakan instruksi
RESTORE.

Bentuk Umum: RESTORE [label|garis]


Jika label atau baris tidak didefinisikan, instruksi RESTORE akan
mengembalikan pembacaan data pada instruksi DATA yang pertama.

Contoh:

DATA 10,20,30
READ A,B,C
RESTORE
READ X,Y,Z

4. Instruksi INPUT
Digunakan untuk memasukkan data melalui keyboard.

Bentuk Umum:

INPUT[;] “ekspresi string”{;|,} var1[,var2,…]

Contoh:

108
INPUT “Masukkan nama Anda :”, nama$

5. Instruksi LINE INPUT


Instruksi LINE INPUT digunakan untuk memasukkan suatu nilai string ke
dalam sebuah variabel string.

Bentuk Umum:

LINE INPUT [;] “ekspresi string” {;|,} var string[,var string,…]

Contoh:

LINE INPUT “Masukkan nama Anda :”, nama$


LINE INPUT “Masukkan nomor telepon Anda :”, telp$
LINE INPUT “Masukkan NIM Anda :”, nim$

Instruksi Output Dasar


1. Instruksi PRINT
Digunakan untuk menampilkan data dan hasil pengolahan pada layar
tampilan. Data yang ditampilkan dapat merupakan ekspresi.

Bentuk Umum : PRINT [deretan ekspresi]

Contoh:

PRINT nama$
PRINT “Masukkan kode akses: “, kode$
PRINT “Hasil dari penjumlahan deret geometri :”, jml

2. Instruksi LPRINT
Digunakan untuk menampilkan data dan hasil pengolahan pada pencetak.

Bentuk Umum: LPRINT [deretan ekspresi]

Contoh:

INPUT “Masukkan nama Anda :”, nama$


LPRINT “Nama saya adalah :”, nama$

3. Instruksi PRINT USING


Digunakan untuk menampilkan nilai variabel dengan format yang rapi.

109
Bentuk Umum:

PRINT USING Format Tampilan ; Deret Ekspresi

Ekspresi yang digunakan misalnya:


\ \: menampilkan nilai string sejumlah spasi di antara tanda back slash(\)

# : menampilkan nilai numerik biasa dengan digit sebanyak #

#.# : menentukan tanda pecahan decimal

Contoh:

Nama$ = “Lya”
Nilai = 95.85
PRINT USING “Nama : \ \ nilai ###.##”, Nama$, Nilai
Dari contoh diatas, jumlah spasi di antara tanda back slash ada 3 karakter
sehingga outputnya adalah:
Nama : Lya nilai 95.85

Contoh program:
Program untuk mengonversi suhu yang diinputkan dari derajat Kelvin ke
derajat Celcius:

CLS
REM Program konversi Kelvin – Celcius
REM Membersihkan layar
CLS
PRINT “PROGRAM KONVERSI SUHU Kelvin – Celcius”
PRINT “=======================================”
REM Memasukkan nilai derajat Kelvin
INPUT “Masukkan suhu dalam kelvin :”, kelvin
REM Menghitung/konversi ke derajat Celcius
Celcius = kelvin – 273
REM Menampilkan derajat Celcius
PRINT “Suhu dalam Celcius :”, celcius
REM Selesai
END

Contoh program:
Program untuk membaca data-data yang tersedia:

CLS
REM Program READ-DATA

110
CLS
PRINT “PROGRAM READ-DATA”
PRINT “=====================”
PRINT
READ Nama$, nim, Alamat$, TargetNilai$
DATA Rangga, 9999, Jogjakarta, A
PRINT Nama$
PRINT nim
PRINT TargetNilai$
END

Contoh Program:
Program untuk mencetak faktur pembelian dengan menggunakan PRINT
USING:

REM Program Penggunaan PRINT USING


CLS
INPUT “ Masukkan jumlah barang :”, jumlah
INPUT “ Masukkan harga barang :”, harga
JmlHarga = jumlah*HargA
PPN = JmlHarga*0.1
TotalBayar = JmlHarga + PPN
REM Menampilkan Nota
PRINT “Jumlah Pembelian :”, jumlah
PRINT “Harga Satuan :”, HargA
PRINT “Jumlah Harga :”, JmlHarga
PRINT “--------------------------------“
PRINT USING “ : #####.##”, JmlHarga
PRINT USING “ PPN 10% : #####.##”, PPN
PRINT USING “ Total Bayar : #####.##”, TotalBayar
END

Soal dan Penyelesaian


1. Buatlah algoritma dan program untuk menghitung rata-rata dari tiga bilangan
yang diinputkan oleh user. Berikan contoh keluaran program tersebut.
Penyelesaian
Algoritma:
Input (bil1,bil2,bil3)
Jumlah  bil1+bil2+bil3
Rerata  Jumlah/3
Output(Rerata)

111
Program :

CLS
REM PROGRAM UNTUK MENGHITUNG RATA-RATA DARI TIGA
BILANGAN YANG DIINPUTKAN USER
Input “Masukkan bilangan pertama :”, bil1
Input “Masukkan bilangan kedua :”, bil2
Input “Masukkan bilangan ketiga :”, bil3
Jumlah = bil1+bil2+bil3
Rerata = Jumlah/3
Print
Print “Rata-rata dari tiga bilangan tsb:”, Rerata
END

2. Buatlah algoritma dan program untuk menghitung laba penjualan dari seorang
pedagang sayur. Berikan contoh keluaran program tersebut.
Penyelesaian
Algoritma:

Input(modal, jual)
Laba  jual – modal
Output(laba)

Program:

CLS
REM PROGRAM LABA PENJUALAN
Input “Masukkan modal awal :”, modal
Input “Masukkan hasil penjualan :”, jual
Laba = jual – beli
Print
Print “Laba yang diperoleh adalah :”, Laba
END

Contoh keluaran program:

Masukkan modal awal : 200000

112
Masukkan hasil penjualan : 225000

Laba yang diperoleh adalah: 25000

Press any key to continue

3. Buatlah algoritma dan program untuk mengonversi suhu dari derajat Celcius
ke Fahrenheit. Berikan contoh keluaran program tersebut.
Penyelesaian
Algoritma:

Input(Celcius)
Fahrenheit  Celcius *9/5 + 32
Output(Fahreinheit)

Program:

CLS
REM PROGRAM KONVERSI SUHU CELCIUS KE FAHRENHEIT
Print “==========================================”
Print
Input “Masukkan suhu dalam Celcius :”, Celcius
Fahrenheit = Celcius *9/5 + 32
Print
Print “==========================================”
Print
Print “Suhu dalam derajat Fahrenheit:”, Fahrenheit
END

113
BAB 7
PEMROGRAMAN

7.1 Kompetensi Dasar


Setelah mempelajari pemrograman diharapkan mahasiswa tersebut dapat:
• Memahami penggunaan data dalam algoritma dan konsep algoritma
pemrograman
• Memahami struktur algoritma serta menganalisis data dalam suatu
algoritma percabangan
• Memahami struktur algoritma serta menganalisa data dalam suatu
algoritma perulangan serta
• Menerapkan penggunaan tipe data, variabel, konstanta, operator, dan
ekspresi
• Menerapkan struktur kontrol percabangan dalam bahasa pemrograman
• Menerapkan struktur kontrol perulangan dalam bahasa pemrograman
• Menerapkan keseluruhan konsep algoritma dalam penyelesaian masalah
kompleks
• Menggunakan algoritma pemrograman untuk memecahkan permasalahan
• Menggunakan algoritma percabangan untuk memecahkan permasalahan
• Memecahkan permasalahan dengan algoritma perulangan
• Mengolah algoritma ke dalam bentuk kode program komputer
• Mengolah data menggunakan konsep tipe data, variabel, konstanta,
operator dan ekspresi
• Memecahkan masalah menggunakan struktur kontrol percabangan
• Memecahkan masalah menggunakan struktur kontrol perulangan
• Menganalisa kesalahan dalam program komputer
7.2 Struktur Runtunan
1. Algoritma dengan menggunakan struktur runtunan dapat berarti:
 Setiap instruksi akan dikerjakan satu per satu.
 Setiap instruksi dilaksanakan tepat satu kali, tidak ada instruksi yang diulang
maupun tidak dilaksanakan.
 Urutam isntruksi dilaksanakan pemroses sama dengan urutan aksi
sebagaimana yang tertulis di dalam teks algoritmanya.
 Akhir dari instruksi terkahir merupakan akhir algoritma.
114
 Bila runtunan instruksi dalam algoritma berturut-turut dilambangkan dengan
A1, A2, A3, A4, dan A5 maka pelaksanaan instruksi tersebut adalah:
A1
A2
A3
A4
A5
Mula-mula pemroses melaksanakan instruksi A1, instruksi A2dilaksanakan
setelah instruksi A1 selesai. Selanjutnya instruksi A3dilaksanakan setelah
instruksi A2 selesai. Demikian seterusnya sampai instruksi terakhir A5
dilaksanakan. Setelah instruksi A5 dilaksanakan, algoritma berhenti

2. Algoritma untuk mengonversi input Jam, Menit, dan Detik ke total detik:
Algoritma:
Input(Jam, Menit, Detik)
TotalDetik  Jam*3600 + Menit*60 + Detik
Output(TotalDetik)

Program:
CLS
REM PROGRAM UNTUK MENGHITUNG KONVERSI JAM, MENIT
DAN DETIK KE TOTAL DETIK
Input “Banyak Jam :”, Jam
Input “Banyak Menit :”, Menit
Input “Banyak Detik :”, Menit
TotalDetik = Jam*3600 + Menit*60 + Detik
Print
Print “TotalDetik hasil konversi :”, TotalDetik
END

Contoh keluaran program:


Banyak Jam :2
Banyak Menit : 10
TotalDetik hasil konversi : 7855

115
7.3 Struktur Percabangan
• Pernyataan percabangan memungkinkan suatu pernyataan untuk dieksekusi
hanya jika suatu kondisi terpenuhi atau tidak terpenuhi.
Contoh:
- Jika mau menonton film maka belilah tiketnya.
- Jika suatu bilangan habis dibagi 2 maka bilangan itu pastilah bilangan
genap.
• Bentuk Instruksi percabangan ada dua: instruksi IF (IF sederhana, IF-ELSE,
dan IF bersarang) dan instruksi CASE.

Instruksi IF
Secara umum, flowchart-nya adalah sebagai berikut:

IF

kondisi

F
T

Pernyataan 1 Pernyataan 2

Pernyataan
sesudah ENDIF

Pada struktur ini, terdapat dua kemungkinan instruksi yang akan dikerjakan
berdasarkan hasil dari pengujian. Contoh jika syarat yang diujikan memperoleh hasil
benar maka instruksi_1 dikerjakan, namun jika bernilai salah maka instruksi_2 yang
dikerjakan.
Contoh algoritma:
INPUT(x)
IF x>0 THEN
Output(“X adalah bilangan positif”)
ELSE
Output(“X adalah bilangan negatif”)
ENDIF
END
116
atau
INPUT(tahun)
IF tahun MOD 4=0 THEN
Output(“Tahun tersebut tahun kabisat”)
ELSE
Output(“Bukan tahun kabisat”)
ENDIF
END

atau
INPUT(nilai)
IF nilai=”A” OR nilai=”B” OR nilai=”C” OR nilai=”D” OR
THEN
Output(“ANDA LULUS DARI MATA KULIAH INI”)
ELSE
Output(“ANDA GAGAL DARI MATA KULIAH INI”)
ENDIF
END

Pernyataan IF Bersarang
Bentuk algoritma dengan struktur percabangan menggunakan instruksi IF
bersarang ini memungkinkan suatu pernyataan untuk dieksekusi apabila memenuhi
atau tidak memenuhi suatu kondisi yang dites. Pada suatu pernyataan yang sedang
dieksekusi masih terdapat struktur percabangan lagi, di mana masih ada tes dari suatu
kondisi.

Bentuk:
IF <kondisi_1> THEN
<pernyataan_1>
ELSE
IF <kondisi_2> THEN
<pernyataan_2>
ELSE
IF <kondisi_3> THEN
<pernyataan_3>
-
-
-
ELSE
<pernyataan_m>
ENDIF
ENDIF
ENDIF

117
Contoh algoritma:
INPUT(beli)
IF beli>=100000 THEN
Output(“Diskon 10%”)
ELSE
IF beli>=500000 THEN
Output(“Bonus piring”)
ELSE
IF beli>=1000000 THEN
Output(“Bonus gelas”)
ELSE
Output(“Tidak ada bonus”)
ENDIF
ENDIF
ENDIF

Secara umum, flowchart-nya adalah sebagai berikut:

SELECT CASE
<ekspresi>
F F F
Daftar Nilai Daftar Nilai Daftar Nilai

T T T
Blok instruksi 1 Blok instruksi 2 Blok instruksi 3 Blok instruksi 4

Pernyataan sesudah
END SELECT

Contoh algoritma:
INPUT(bilangan)
SELECT CASE bilangan
CASE 2,3,5,7
Output(“Bilangan tersebut adalah bilangan PRIMA”)
CASE 4,6,8,9,10
Output(“Bilangan tersebut bukan bilangan PRIMA”)
CASE ELSE
Output(“Input ANDA salah”)
END SELECT
END

118
7.4 Struktur Perulangan
Struktur algoritma perulangan adalah suatu algoritma yang akan melakukan
suatu proses atau eksekusi yang berulang-ulang jika suatu kondisi dipenuhi atau
tidak.
Proses ini biasanya digunakan untuk:
 Mengulang proses pemasukan data
 Mengulang proses perhitungan
 Mengulang proses penampilan hasil pengolahan data
Struktur perulangan terdiri dari 2 bagian:
 Kondisi perulangan, yaitu ekspresi Boolean yang harus dipenuhi untuk
melaksanakan pengulangan
 Badan (body) pengulangan, yaitu satu atau lebih aksi yang akan diulang.
Disamping itu biasanya disertai dengan:
 Inisialisasi, yaitu aksi yang dilakukan sebelum pengulangan dilakukan
pertama kali
 Terminasi, yaitu aksi yang dilakukan setelah pengulangan selesai
dilaksanakan.
Bentuk instruksi perulangan:
Instruksi FOR-NEXT
 FOR-NEXT Tunggal
 FOR-NEXT Tersarang
Instruksi WHILE-WEND
Instruksi DO-LOOP
 DO WHILE-LOOP
 DO UNTIL-LOOP
 DO-LOOP WHILE
 DO-LOOP UNTIL
Instruksi FOR-NEXT
Instruksi FOR-NEXT digunakan untuk mengeksekusi suatu baris/blok instruksi secara
berulang-ulang selama kondisi terpenuhi.
Kondisi yang digunakan untuk menguji hanya sebatas perhitungan
menambah/mengurangi isi variable counter dengan STEP tertentu. Jumlah
perulangan diketahui secara pasti (n kali), dimana jumlah perulangan = nilai_akhir –
nilai_awal+1.
119
Bentuk instruksi:
FOR variable_counter = nilai_awal TO nilai_akhir [STEP nilai naik/turun]
<blok instruksi / pernyataan>
NEXT variable_counter

Flowchart:

FOR

Var = nilai_awal

F
Var <=
nilai_akhir

Blok pernyataan

Var = Var + 1

Pernyataan
sesudah NEXT

Instruksi FOR-NEXT Tunggal


• Instruksi untuk perulangan yang hanya menggunakan sebuah counter.
• Contoh:
- Menampilkan “halo” 10 kali
- Menampilkan angka 0 .. n
- Menjumlahkan deret 1+2+3+ … +n
- Menghitung rata-rata bilangan
- Menghitung perpangkatan ( )
- Menghitung factorial (n!)

120
Instruksi FOR-NEXT Tersarang
• Urutan Instruksi dimulai dari kalangan yang paling dalam.
• Syarat yang harus dipenuhi:
- Setiap kalang tidak boleh menggunakan variable counter yang sama
- Antara kalang-kalang tersebut tidak boleh saling berpotongan
(overlapping)
Kalang yang berpotongan,
contohnya:
FOR I = 1 TO 10
FOR J = 1 TO 10
PRINT I,J
NEXT I
NEXT J

Kalang yang menggunakan variable counter yang sama,


Contohya:
FOR J = 1 TO 10
FOR J = 1 TO 10
PRINT J,J
NEXT J
NEXT J

Kalang yang tersarang,


contohnya:
FOR I = 1 TO 10
FOR J = 1 TO 10
PRINT J,I
NEXT J
NEXT I

Instruksi WHILE-WEND
Pada instruksi WHILE-WEND, proses akan berulang selama sebuah kondisi
terpenuhi, dengan perulangan yang tak dapat diketahui jumlahnya.
Bentuk Instruksi:
WHILE <kondisi>
<blok pernyataan>
WEND
Bentuk ini identic dengan DO WHILE-LOOP.

121
Flowchart:

kondisi F

Blok pernyataan

Pernyataan sesudah
WEND

Instruksi DO – LOOP
Instruksi DO-LOOP mempunyai fungsi yang sama dengan WHILE-WEND, yaitu
melakukan operasi perulangan, tetapi penulisan kondisinya dapat dilakukan secara
fleksibel. Proses berulang pada instruksi ini tidak diketahui jumlahnya.
Bentuk Umum:
DO [ WHILE / UNTIL kondisi ]
<statement-statement>
LOOP
Atau
DO
<statement-statement>
LOOP [ WHILE / UNTIL kondisi ]

Bentuk pertama dan bentuk kedua berbeda. Pada bentuk pertama, kondisi diperiksa
dulu. Bila memenuhi syarat maka instruksi akan dilaksanakan. Adapun pada bentuk
kedua, minimal proses instruksi dilaksanakan sekali, baru pemeriksaan kode
penulisan.

Instruksi DO WHILE – LOOP


Pada instruksi DO WHILE – LOOP, pengulangan dilakukan selama kondisi bernilai
benar apabila kondisi salah maka proses akan keluar dari struktur perulangan.
Pada bentuk ini, pengujian dilakukan sebelum blok pernyataan dijalankan.

122
Bentuk Instruksi:
DO WHILE <kondisi>
<blok pernyataan>
LOOP

Flowchart:

F
kondisi

T
Blok pernyataan

Pernyataan sesudah
LOOP

Contoh:
Algoritma untuk menjumlahkan deret 1+2+3+ … + N
Input (N)
Jml  0
Angka  1
DO WHILE Angka <= N
Jml  Jml + Angka
Angka  Angka + 1
LOOP
Output(jml)
END

Instruksi DO UNTIL – LOOP


Pada instruksi DO UNTIL-LOOP, pengulangan dilakukan selama kondisi bernilai
salah. Apabila kondisi benar maka proses akan keluar dari struktur perulangan.
Pada bentuk ini, pengujian dilakukan sebelum blok pernyataan dijalankan.

123
Bentuk Instruksi:
DO UNTIL <kondisi>
<blok pernyataan>
LOOP

Flowchart:

T
kondisi

F
Blok pernyataan

Pernyataan sesudah
LOOP

Contoh:
Algoritma untuk menjumlahkan deret 1+2+3+…+N
Input (N)
Jml  0
Angka  1
DO UNTIL Angka > N
Jml  Jml + Angka
Angka  Angka + 1
LOOP
Output(jml)
END

Instruksi DO LOOP-WHILE
Pada instruksi DO LOOP-WHILE, pengulangan dilakukan selama kondisi bernilai
benar. Apabila kondisi salah maka proses akan keluar dari struktur perulangan.
Pada bentuk ini, pengujian dilakukan setelah blok pernyataan dijalankan sehingga
minimal sekali pernyataan akan dieksekusi.

124
Bentuk instruksi:
DO LOOP
<blok pernyataan>
WHILE <kondisi>

Flowchart:

DO

Blok pernyataan

F
Kondisi

T
Pernyataan sesudah
LOOP

Contoh:
Algoritma untuk menjumlahkan deret 1+3+5+…+Un
Input (Un)
Jml  0
Angka  1
DO
Jml  Jml + Angka
Angka  Angka + 2
LOOP WHILE Angka <=Un
Output(jml)
END

Instruksi DO LOOP – UNTIL


Pada instruksi DO LOOP-UNTIL, pengulangan dilakukan selama kondisi bernilai
salah. Apabila kondisi benar maka proses akan keluar dari struktur perulangan.
Pada bentuk ini, pengujian dilakukan setelah blok pernyataan dijalankan sehingga
minimal sekali pernyataan akan dieksekusi.

125
Bentuk instruksi:
DO LOOP
<blok pernyataan>
UNTIL <kondisi>

Flowchart:
DO

Blok

F
Kondis

T
Pernyataan sesudah
LOOP

Contoh:
Algoritma untuk mengakses, dengan password maksimal mengalami kesalahan 3 kali.
Password$  “Sp”
DO
IF N>3 THEN
EXIT DO
END IF

Input (Pass$)
N=N+1
LOOP UNTIL Pass$ = Password$

IF N>3 THEN
Output(“Akses ditolak”)
ELSE
Output(“Selamat bergabung”)
END IF
END

7.5 Soal dan Penyelesaian


Buatlah suatu algoritma (pseudocode) untuk menyelesaikan persoalan-persoalan
berikut:
1. Menghitung keliling segitiga siku-siku jika telah diketahui alas dan tingginya.
126
Penyelesaian:
Input(alas, tinggi)
Miring  (alas^2 + tinggi^2)^0.5
Keliling  miring + alas + tinggi
Output(Keliling)
End

2. Menghitung komisi yang diterima salesman berdasarkan hasil penjualan yang


dicapainya.
(Komisi = 10% dari penjualannya).

Penyelesaian:
Input(total_jual)
Komisi  0,10*total_jual
Output(Komisi)
End

3. Menentukan apakah bilangan yang diinputkan adalah bilangan ganjil atau genap.

Penyelesaian:
Input(bilangan)
IF bilangan MOD 2 = 0 THEN
Output(“bilangan tersebut adalah genap”)
ELSE
Output(“bilangan tersebut adalah ganjil”)
ENDIF
End

4. Menentukan koordinat titik, apakah ada di kuadran I, II, III atau IV.

Penyelesaian:
Input(x,y)
IF x>0 AND y>0 THEN
Output(“Koordinat ada di kuadran I”)
ELSE
IF x<0 AND y>0 THEN
Output(“koordinat ada di kuadran II”)
ELSE
IF x<0 AND y<0 THEN
Output(“koordinat ada di kuadran III”)
ELSE
IF x>0 AND y<0 THEN
Output(“koordinat ada di kuadran IV”)
ELSE
127
Output(“koordinat tsb ada di sb.x/y”)
ENDIF
ENDIF
ENDIF
ENDIF
End

5. Menghitung factorial (n!).

Penyelesaian:
Input(n)
Faktorial  1
FOR I = 1 to n
Faktorial  i*Faktorial
NEXT i
Output(Faktorial)
End

Soal – Soal Latihan


1. Menghitung gaji bersih yang diterima seorang karyawan. (Tunjangan = 20%
dari gaji pokok, pajak = 15% gaji bersih dan tunjangan)
2. Menentukan koordinat titik tengah dari dua buah titik ( ) dan ( ).
3. Menukarkan 2 buah nilai A dan B
4. Menghitung konversi detik ke dalam jam, menit, dan detik.
5. Mencari nilai gradient (m) dan konstanta (c) jika diketahui garis tersebut
melalui titik ( ) dan ( ).
6. Menentukan apakah bilangan yang diinputkan antara 0 sampai 10 adalah
bilangan prima atau bukan.
7. Menentukan apakah bilangan yang diinputkan adalah bilangan positif,
negative, atau nol.
8. Menentukan apakah jumlah hari dalam bulan yang diinputkan adalah kode
bulan 1 sampai 12.
9. Menentukan wujud air, jika suhu <=0 maka benda padat, >=100 maka
uap/gas, >0, dan <100 maka benda cair.
10. Menentukan luas atau volume bola. (L = 4.phi. , V = 4/3.phi. )
11. Menentukan jarak atau titi tengah dari 2 titik yang diinputkan.
12. Menentukan nilai terbesar dari A, B, C, dan D.

128
13. Menyelesaikan persamaan linier dari :
ax + by = c
dx + ey = f
14. Menghitung perpangkatan
15. Tunjukan keluaran dari algoritma berikut:
X8
JmlNilai  5
K2
DO WHILE K <= X
Input(bil)
IF bil mod K = 0 THEN
Jml  Jml + bil
ENDIF
K  K+2
LOOP
Output(Jml)

Catatan: Input bilangan berturut-turut 2, 10, 6 dan 12.

129
BAB 8
SUBRUTIN DAN REKURSI

8.1 Kompetensi Dasar


Setelah mempelajari Metode Subroutine dan Rekursi, diharapkan mahasiswa
tersebut memahami bahwa Subroutine merupakan metode yang tidak memilliki nilai
balik, cara pembuatan subroutine sama dengan function bedanya nilai baliknya
menggunakan kata void, memahami bahwa kita memerlukan subrutin karena dalam
program yang besar akan lebih baik jika tugas tertentu dilakukan oleh subrutin
tertentu, dengan demikian program menjadi lebih mudah dibaca, memahami bahwa
sub routine merupakan kumpulan baris program yang dipanggil dengan statement GO
SUB. Sub routine digunakan untuk memanggil baris program yang sering dipanggil.
Hal ini lebih baik daripada menuliskan baris program yang sama berkali-kali,
memahami bahwa rekursi adalah kemampuan sub rutin untuk memanggil dirinya
sendiri. Dengan demikian rekursi merupakan kemampuan prosedur atau fungsi untuk
dari dalam prosedur atau fungsi itu sendiri.
8.2 Subrutin
Pemograman terstruktur adalah pemograman yang menitikberatkan pada
pemecahan masalah yang kompleks sehingga menjadi masalah sederhanan yang
disebut modul.
Alasan adanya subprogram:
• Pemograman modular
• Teknik Top-Down Desain
• Meringkas/Memperpendek panjang program
• Menghemat kode program
• Mempermudah cek kesalahan
Gambaran umum subprogram:

130
Macam-macam subprogram dalam Qbasic:
• Prosedur Subrutin
• Prosedur Fungsi
Prosedur Subrutin
Bentuk instruksi:
SUB NamaProsedur [(daftar parameter)]
<blok instruksi>
END SUB

Untuk memanggil/menjalankan prosedur subrutin, gunakan pernyataan CALL diikuti


nama prosedurnya.

Contoh:
Prosedur:
SUB Tambah(X,Y)
Output(X+Y)
END SUB
Pemanggilan:
Input(X,Y)
CALL Tambah(X,Y)
END

Prosedur Fungsi
FUNCTION akan ditangani seperti halnya prosedur subrutin karena sama-sama
merupakan prosedur.
Bentuk instruksi:
FUNCTION NamaFungsi [(daftar parameter)]
<blok instruksi>
NamaFungsi = Ungkapan
END FUNCTION

131
Contoh:
Prosedur:
FUNCTION Faktorial(n)
Nilai  1
FOR I  1 TO n
Nilai  Nilai*I
NEXT I
Faktorial  Nilai
END FUNCTION
Pemanggilan:
Input (n)
Faktorial (n)
END

8.3 Rekursi
Rekursi adalah suatu proses (proseudur/fungsi) yang bias memanggil dirinya
sendiri. Rekursi merupakan pengganti perulangan biasa dan ada di dalam prosedur
fungsi.
Syarat rekursi:
1. Adanya titik pemberhentian (pengendali rekursi)
Contoh: faktorial(n), n = 0, maka n! = 1
2. Adanya langkah rekursi yang menuju pada stopping state (induksi)
Contoh: faktorial = n* faktorial (n-1)
Catatan:
Faktorial (n-1)  rekursi dijalankan dengan jumlah n yang semakin menurun
(semakin sempit permasalahannya).
Prinsip Rekursi:
1. Sifat = perulangan sehingga harus ada proses yang mengentikan rekursi
2. Proses yang menuju penghentian rekursi
Contoh: Faktorial (n),

Jika n = 0  penghentian rekursi


n!

n*(n-1)!, jika n > 0  langkah induksi

132
Gambaran Proses Rekursi:
4! = Faktorial (4)
= Faktorial (4)
= 4 Faktorial (3)
= 3 Faktorial (2)
= 2 Faktorial (1)
= 1

Jadi 4! = 4*3*2*1 = 24
- Hasil dari proses di tiap tingkat merupakan input untuk proses di tingkat atasnya.
- Faktorial (n) bisa dihitung dari Faktorial (n-1), Faktorial (n-1) bisa dihitung dari
Faktorial (n-2), dan seterusnya.
Contoh Kasus Rekursi:
1. Pencarian Bilangan Faktorial
 Merupakan proses perhitungan deret bilangan dengan rumus:
- n=0, maka n! = 1
- n>0, maka n! = n*(n-1)!
Implementasi pencarian factorial (4):
a. Iterasi
Faktorial  1
For k  1 To 4
Faktorial  Faktorial * k
Next k
Output (faktorial)

b. Rekursi
FUNCTION Faktorial(n)
IF n=0 THEN
Faktorial  1
ELSE
Faktorial  n * Faktorial(n-1)
END IF
END FUNCTION

2. Pencarian Bilangan Fibonacci


Merupakan proses penyusunan deret dengan rumus:
a. n = 1 atau n = 2, maka Fibo(n) = 1
b. n>2, maka Fibo(n) = Fibbo(n-1) + Fibo(n-2)
yaitu: 1 1 2 3 5 8 13 21 34 55…..
Contoh: Fibo(4) = 3, Fibo(10) = 55, dst…

133
Proses Rekursi:
FUNCTION Fibo(n)
IF n=0 or n=2 THEN
Fibo  1
ELSE
Fibo  Fibo(n-1) + Fibo(n-2)
END IF
END FUNCTION
Implementasi pencarian Fibbonaci (4):

Fibbonaci (4)

Fibbonaci (3) Fibbonaci (2)

Fibbonaci (2) Fibbonaci (1)

Soal dan Penyelesaian


1. Buatlah fungsi untuk menentukan jumlah sampai suku ke-n dari dari bilangan-
bilangan deret aritmatika dengan suku pertama a, selisih b, dan banyaknya
bilangan n.

Penyelesaian:
FUNCTION Aritmatika(a,b,n)
FOR Y = 1 TO n
Jumlah  Jumlah + a+(Y-1)*b
NEXT Y
Aritmatika  Jumlah
END FUNCTION

2. Buatlah algoritma dengan metode rekursi untuk mencari nilai fungsi berikut:
1, n =1

Testing (n) =

testing(n) = n^2 + testing(n-1), n≥2

134
Penyelesaian:
FUNCTION testing (n)
IF n=1 THEN
testing = 1
ELSE
testing = n^2 + testing(n-1)

ENDIF
END FUNCTION

3. Buatlah algoritma dengan menggunakan metode rekursi untuk mencari nilai


fungsi berikut:
5, n=1

Jumlah(b,n) =

5 + (n-1)*b + jumlah(b, n-1)

Penyelesaian:
FUNCTION jumlah (b,n)
IF n=1 THEN
jumlah = 5
ELSE
Jumlah = 5 + (n-1)*b + jumlah (b, n-1)
ENDIF
END FUNCTION
Soal dan Latihan
Buatlah suatu fungsi untuk menyelesaikan persoalan-persoalan berikut:
1. Fungsi untuk menentukan nilai minimal dari 3 nilai yang diinputkan.
2. Fungsi untuk menghitung nilai Y dengan parameter n berikut:

3. Fungsi untuk menghitung deret:


4 + 12 + 36 + 108+ … + Un
Buatlah suatu fungsi dengan metode rekursi untuk menyelesaikan persoalan-
persoalan berikut:
4. Menghitung nilai sigma(n) = 1 + 2 + 3 + …. +n.
5. Menghitung hasil perpangkat
6. Menghitung hasil penjumlahan deret hitung dengan suku awal a dan selisih b.

135
DAFTAR PUSTAKA

A. Rosen, H Kenneth (2012). Discrete Mathematics and Its Applications. Mc Graw


Hill.

Brassard, Gilles., Fundamentals of Algorithmics, Prentice Hall, New Jersey, 1996.

Limanto, Susana., Algoritma dan Pemograman, Dinastindo, Jakarta, 2002

Munir, R., 2005, Matematika Diskrit, Penerbit IF, Bandung

Munir, Rinaldi., Algoritma dan Pemograman dalam Bahasa Pascal dan C,


Informatika, Bandung, 1999.

Pranata, Antony., Algoritma dan Pemograman, J&J Learning, Yogyakarta, 2000

Siang, J.J., 2002, Matematika Diskrit dan Aplikasinya pada Ilmu Komputer.

Sismoro, Heri., Pengantar Logika Informatika, Algoritma, dan Pemrograman


Komputer, ANDI, Yogyakarta, 2005

Suprapto, Logika Informatika: Dasar-Dasar Logika untuk Pemograman Komputer


dan Perancangan Komputer, Gaya Media, Yogyakarta, 2003

Sutedjo, Fathul., Dasar-Dasar Algoritma dan Pemograman, Penerbit ANDI,


Yogyakarta, 2004

136
BIBIOGRAFI PENULIS

Suraya, lahir pada tanggal 25 Februari 1962 di Bantul, Daerah Istimewa


Yogyakarta, adalah seorang akademisi di Institut Sains & Teknologi AKPRIND
Yogyakarta, yang mengajar mata kuliah Logika Informatika. Menyelesaikan
pendidikan SD Negeri 2 Jejeran, SMP Negeri 1 Pleret, SMA Negeri 5 Kotagede,
Yogyakarta.
Menyelesaikan S1 pada program studi STATISTIKA, Universitas Terbuka,
Yogyakarta tahun 1997. Menyelesaikan S2 pada program studi Ilmu Komputer
Universitas Gadjah Mada pada tahun 2005. Selama lebih dari duabelas tahun mengajar
mata kuliah Logika Informatika, penulis mencermati bahwa mahasiswa yang belajar
pemrograman dengan mengetahui dasar-dasar logika Informatika yang memadai akan
mampu membuat program dengan baik. Dari pengamatan tersebut, penulis mengetahui
metode, penyajian, dan materi yang harus dan mudah diterima oleh para mahasiswa
yang akan menekuni bidang pemrograman komputer. Pada buku ini akan disajikan
logika, bahasa dan penjelasan materi yang mudah dipahami oleh pembaca dan
mahasiswa pada khususnya, yang akan memasuki dunia pemrograman. Semoga buku
ini bermanfaat, dan selamat belajar.

137

Anda mungkin juga menyukai