Berikut ini adalah pertanyaan dari elfinambar pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas
3. Presentasikan program yang telah dibuat di depan kelas dan jelaskan penggunaan konsep dasar Pemrograman Logika dalam program tersebut.
Jawaban dan Penjelasan
Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.
1. Konsep Dasar Pemrograman Logika
- Pemrograman Logika adalah paradigma pemrograman yang berfokus pada penyelesaian masalah dengan menggunakan logika matematika. Konsep dasar dalam pemrograman logika meliputi:
- Tautologi: suatu kalimat atau pernyataan yang selalu benar, tidak peduli apa pun nilai dari variabel yang terlibat di dalamnya. Contoh tautologi adalah "Jika hujan turun, maka tanah akan basah" karena kalimat tersebut selalu benar.
- Implikasi: hubungan antara dua pernyataan di mana jika pernyataan pertama benar, maka pernyataan kedua juga benar. Contoh implikasi adalah "Jika kamu belajar, kamu akan lulus" karena jika kamu belajar, kamu akan memperoleh pengetahuan dan keterampilan yang diperlukan untuk lulus.
- Konjungsi: hubungan antara dua pernyataan di mana keduanya harus benar agar keseluruhan pernyataan juga benar. Contoh konjungsi adalah "Dia suka makan nasi dan lauk pauk" karena keduanya harus benar agar keseluruhan pernyataan benar.
- Disjungsi: hubungan antara dua pernyataan di mana salah satu atau keduanya harus benar agar keseluruhan pernyataan benar. Contoh disjungsi adalah "Dia akan makan pizza atau pasta" karena jika dia makan salah satu dari keduanya, maka pernyataan tersebut benar.
- Negasi: pernyataan yang menyatakan kebalikan dari suatu pernyataan. Contoh negasi dari pernyataan "Dia senang berenang" adalah "Dia tidak senang berenang".
- Quantifier: suatu konstruksi bahasa yang digunakan untuk mengekspresikan kuantitas dari suatu variabel atau nilai yang dibicarakan. Ada dua jenis quantifier dalam pemrograman logika: universal quantifier (untuk semua) dan existential quantifier (ada satu). Contoh universal quantifier adalah "Semua manusia adalah makhluk hidup", sementara contoh existential quantifier adalah "Ada sebuah benda hitam di meja".
2. Contoh Program
Berikut contoh program sederhana yang menggunakan aturan dan fakta dalam pemrograman logika untuk menentukan apakah sebuah angka ganjil atau genap.
% Fakta
genap(X) :- 0 is mod(X, 2).
ganjil(X) :- 1 is mod(X, 2).
% Aturan
tipe_angka(X) :- genap(X), write(X), write(' adalah bilangan genap').
tipe_angka(X) :- ganjil(X), write(X), write(' adalah bilangan ganjil').
% Contoh penggunaan
?- tipe_angka(4).
Output: 4 adalah bilangan genap
?- tipe_angka(7).
Output: 7 adalah bilangan ganjil
Pada program di atas/gambar, terdapat dua fakta yang didefinisikan, yaitu `genap(X)`danganjil(X)`, yang digunakan untuk menentukan apakah sebuah angka genap atau ganjil. Selain itu, terdapat satu aturan `tipe_angka(X)` yang menggunakan aturan konjungsi untuk mengecek apakah sebuah angka genap dan menggunakan aturan disjungsi untuk mengecek apakah sebuah angka ganjil. Dalam program ini, jika sebuah angka memenuhi kriteria genap atau ganjil, maka program akan mencetak hasil yang sesuai dengan aturan yang dipenuhi.
3. Penjelasan Program
Program sederhana di atas menggunakan konsep dasar pemrograman logika seperti aturan, fakta, konjungsi, disjungsi, dan negasi. Fakta `genap(X)` dan `ganjil(X)` menggunakan negasi dengan menggunakan fungsi `mod` untuk menentukan apakah sebuah angka habis dibagi dua atau tidak. Aturan `tipe_angka(X)` menggunakan konjungsi untuk mengecek apakah sebuah angka memenuhi kriteria genap, dan disjungsi untuk mengecek apakah sebuah angka memenuhi kriteria ganjil.
Program ini dapat digunakan untuk menentukan tipe sebuah angka (ganjil atau genap) secara otomatis, tanpa perlu dilakukan pengecekan manual. Dalam kasus lain, konsep dasar pemrograman logika dapat digunakan untuk menyelesaikan masalah lain dengan cara yang sama efisiennya.
Semoga dengan pertanyaan yang sudah terjawab oleh Threadripper dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.
Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact
Last Update: Wed, 14 Jun 23