BAB III ANALISIS DAN PERANCANGAN
3.1
Analisis
Analisis adalah suatu kegiatan penelitian atau kajian yang dimulai dari proses awal didalam mempelajari serta mengevaluasi suatu bentuk permasalahan (case) yang ada. Dalam hal ini, analisis yang dilaksanakan adalah pembahasan materi kalkulus proposisi yang harus dipelajari secara mendalam sehingga dapat dirumuskan permasalahan yang ada dan dapat diberikan solusi sebagai penyelesaian masalah tersebut. Dalam Tugas Akhir ini dilakukan analisis pada materi pembahasan kalkulus proposisi dan mempelajari proses kerja tahap demi tahap serta metode penyelesaiannya. 3.1.1 Konsep Kalkulus Proposisi Kalkulus Proposisi, pada hakekatnya adalah suatu metode dalam komputasi menggunakan proposisi atau menggunakan kalimat. Di sini, kalimat yang dimaksud merupakan kalimat deklaratif. Pada kalimat deklaratif tersebut dapat kita berikan nilai kebenarannya (truth value) yaitu salah satu dari “Benar” atau “Salah”. Kalimat seperti ini biasa disebut sebuah statemen atau pernyataan. Pada kalkulus proposisi ini, pembahasan ditekankan pada bagaimana cara mengkombinasikan statemen atau pernyataan sehingga terbentuk statemen atau pernyataan lain yang lebih kompleks. Pengkombinasian pernyataan akan menghasilkan pernyataan majemuk (compound statement). Nilai kebenaran dari suatu pernyataan majemuk tergantung pada nilai kebenaran pernyataan yang dikombinasikan serta tergantung pula operasi pengkombinasian mereka. 3.1.2 Tahapan Proses Kalkulus Proposisi Dalam penyelesaian kalkulus proposisi diperlukan beberapa tahapan proses secara terstruktur dan berurut sehingga hasil yang diperoleh sesuai dengan
http://digilib.mercubuana.ac.id/
yang diharapkan. Tahapan-tahapan proses dalam penyelesaian kalkulus proposisi diantaranya adalah sebagai berikut: 1. Dilakukan pengecekan terhadap struktur dari proposisi yang di-input. 2. Membagi proposisi kedalam bentuk sub-sub proposisi. 3. Membuat tabel kebenaran dari proposisi langkah demi langkah. Pengecekan terhadap struktur dari proposisi yang di-input berdasarkan teori dari operasi proposisi. Pembagian proposisi pada pembahasan Tugas Akhir ini menggunakan metode parsing top down, dimulai dengan simbol yang paling awal hingga simbol yang paling akhir. Dimana proses penurunan parsing dilakukan dengan cara left most derivation, yaitu jika kedudukan operator seimbang maka operator yang paling kiri diturunkan terlebih dahulu. Kedudukan operator-operator pada proposisi berdasarkan urutan prioritasnya dari yang tertinggi ke yang terendah. Urutan prioritas kedudukan operator-operator pada proposisi adalah sebagai berikut: 1. Tanda Kurung (delimiter). 2. Operasi Negasi (not). 3. Operasi Konjungsi (and). 4. Operasi Disjungsi (or). 5. Operasi Implikasi (if…then). 6. Operasi Bi-Implikasi (if…and…only…if). Sebagai contoh dari penggunaan atau penerapan dari urutan prioritas kedudukan operator-operator pada proposisi tersebut. Misalnya, diketahui sebuah proposisi ~ p ∧ ( q ∨ r ) → s ↔ ( p ∧ ~ r ), maka tahapan proses penyelesaian dari proposisi tersebut adalah: 3.1.2.1
Proses Pengecekan Dimulai dari proses pengecekan dengan melalui tahap-tahap sebagai
berikut: 1. Pengecekan terhadap tanda kurung (delimiter). Hal yang perlu diperhatikan adalah jumlah tanda kurung buka “(” harus sama dengan jumlah kurung tutup “)”. Dalam contoh ini,
http://digilib.mercubuana.ac.id/
proposisi ~ p ∧ ( q ∨ r ) → s ↔ ( p ∧ ~ r ) terdapat 2 buah tanda kurung buka “(” dan 2 buah tanda kurung tutup “)”. Maka, proposisi tersebut memenuhi syarat tanda kurung (delimiter) karena jumlah kedua tanda kurung buka sama dengan jumlah tanda kurung tutup sehingga tidak terdapat kesalahan dan proses dapat dilanjutkan ke tahap berikutnya. 2. Penyederhanaan terhadap proposisi. Setelah pengecekan terhadap tanda kurung (delimiter) tidak ada kesalahan maka proses selanjutnya adalah penyederhanaan terhadap proposisi. Proses ini akan menyederhanakan operasi negasi (not) yang berurutan. Misalnya, ~ ~ p diubah menjadi ~ p. Tetapi jika penulisan diubah menjadi ~ ( ~ p ) maka proses tidak akan melakukan perubahan. 3. Pengecekan terhadap operator dan operand. a. Karakter pertama dari proposisi harus berupa karakter proposisi “p”, “q”, “r”, “s”, operator negasi (not) “~” atau tanda kurung buka (delimiter) “(“. Dalam proposisi ~ p ∧ ( q ∨ r ) → s ↔ ( p ∧ ~ r ) diawali oleh operator negasi (not) dengan simbol “~” sehingga tidak terjadi kesalahan dan proses dapat dilanjutkan. b. Karakter terakhir dari proposisi harus berupa karakter proposisi “p”, “q”, “r”, “s” atau tanda kurung tutup (delimiter) “)”. Dalam proposisi ~ p ∧ ( q ∨ r ) → s ↔ ( p ∧ ~ r ) diakhiri oleh tanda kurung tutup (delimiter) dengan simbol “)” sehingga tidak terjadi kesalahan dan proses dapat dilanjutkan. c. Operand “p”, “q”, “r” dan “s” yang bukan merupakan karakter pertama dari proposisi, maka harus didahului oleh operator dengan simbol “~”, “∧”, “∨”, “→”, “↔” atau delimiter “(“. Dalam contoh proposisi ~ p ∧ ( q ∨ r ) → s ↔ ( p ∧ ~ r ), dengan kondisi: -
Operand “p” didahului oleh operator not “~” dan delimiter “(“.
-
Operand “q” didahului delimiter “(“.
-
Operand “r” didahului oleh operator or “∨” dan not “~”.
-
Operand “s” didahului oleh operator implikasi “→”.
http://digilib.mercubuana.ac.id/
Dari kondisi tersebut di atas, maka tahapan proses ini tidak menemukan kesalahan dan proses dapat dilanjutkan. d. Operator not “~” yang bukan merupakan karakter pertama dari proposisi harus didahului oleh operator “~”, “∧”, “∨”, “→”, “↔” atau delimiter “(“. Pada proposisi ~ p ∧ ( q ∨ r ) → s ↔ ( p ∧ ~ r ), operator not “~” yang bukan merupakan karakter pertama didahului oleh operator and “∧”, sehingga tidak terjadi kesalahan dan proses dapat dilanjutkan. e. Operator-operator “∧”, “∨”, “→” dan “↔” harus didahului oleh operand “p”, “q”, “r”, “s” atau tanda kurung tutup (delimiter) “)”. Dalam contoh proposisi ~ p ∧ ( q ∨ r ) → s ↔ ( p ∧ ~ r ), dengan kondisi: -
Operator and “∧” didahului oleh operand “p”.
-
Operator or “∨” didahului oleh operand “q”.
-
Operator implikasi “→” didahului oleh delimiter “)”.
-
Operator bi-implikasi “↔” didahului oleh operand “s”.
Dari kondisi tersebut di atas, maka tahapan proses ini tidak menemukan kesalahan dan proses dapat dilanjutkan. f. Tanda kurung buka (delimiter) dengan simbol “(“ yang bukan merupakan karakter pertama harus didahului oleh operatoroperator “∧”, “∨”, “→”, “↔” atau delimiter “(“ itu sendiri. Pada contoh proposisi ~ p ∧ ( q ∨ r ) → s ↔ ( p ∧ ~ r ), dengan kondisi: -
Delimiter “(” yang pertama didahului oleh operator and “∧”, dan
-
Delimiter “(” kedua didahului oleh operator bi-implikasi “↔”.
Dari kondisi tersebut di atas, maka tahapan proses ini tidak menemukan kesalahan dan proses dapat dilanjutkan. g. Tanda kurung tutup (delimiter) dengan simbol “)” harus didahului oleh operand-operand “p”, “q”, “r”, “s” atau delimiter “)” itu sendiri. Proposisi ~ p ∧ ( q ∨ r ) → s ↔ ( p ∧ ~ r ), delimiter “)”
http://digilib.mercubuana.ac.id/
didahului oleh operand “r”, pada tahapan proses ini tidak menemukan kesalahan dan proses dapat dilanjutkan. Pada saat proses pembacaan, proposisi yang tidak sesuai dengan ketentuan struktur proposisi sebagaimana yang telah dibahas di atas, maka akan menyebabkan terjadinya kesalahan. Kesalahan yang terdapat pada proposisi yang di-input akan menginformasikan kepada pengguna dan kesalahan yang terjadi harus diperbaiki terlebih dahulu oleh pengguna jika ingin melanjutkan ke tahapan proses selanjutnya, sebaliknya jika kesalahan yang terjadi tidak diperbaiki maka sistem tidak dapat melanjutkan proses ke tahapan berikutnya. 3.1.2.2
Proses Pembagian/Penurunan (Parsing) Setelah proses pengecekan terhadap struktur dari proposisi selesai
dilaksanakan dan tidak ditemukan kesalahan, maka proses akan dilanjutkan dengan membagi proposisi ke dalam sub-proposisi. Dalam pembagian proposisi ke dalam sub-proposisi menggunakan metode left most derivation, yaitu pembacaan dimulai dari sebelah kiri sesuai dengan prioritas kedudukan operatoroperator proposisi. Seperti halnya pada ekspresi aritmatika, metode left most derivation digunakan untuk menurunkan (parsing) dari ekspresi aritmatika tersebut. Berdasarkan metode left most derivation, ekspresi aritmatika akan diperiksa dan diturunkan dari sebelah kiri ke sebelah kanan. Ekspresi aritmatika harus dipecahkan menjadi sub-sub ekspresi aritmatika yang paling sederhana supaya dapat diselesaikan. Pemecahan ekspresi aritmatika ke dalam bentuk subsub ekspresi aritmatika harus mengikuti urutan prioritas operasi. Operasi dengan prioritas yang lebih tinggi harus dikerjakan terlebih dahulu dan jika terdapat operasi yang memiliki prioritas yang sama, maka operasi yang terletak di sebelah kiri akan dikerjakan terlebih dahulu. Kemudian, bila ditemukan delimiter, berupa tanda kurung “( )”, maka sub ekspresi aritmatika yang berada di dalam delimiter ini harus dikerjakan terlebih dahulu. Secara umum, algoritma metode left most derivation pada struktur ekspresi algoritma dengan algoritma left most derivation pada struktur proposisi adalah sama. Berikut ini adalah skema pembagian proposisi dengan metode left most derivation yang digunakan dalam Tugas Akhir ini.
http://digilib.mercubuana.ac.id/
Gambar 3. 1 Pembagian proposisi dengan metode left most derivation Proposisi ~ p ∧ ( q ∨ r ) → s ↔ ( p ∧ ~ r ) dalam proses pembagian menjadi sub-proposisi menggunakan metode left most derivation, maka pembacaan proposisi dimulai dari sebelah kiri ke sebelah kanan dengan urutan sebagai berikut: 1. Pembacaan proposisi dari sebelah kiri ke sebelah kanan akan menemukan tanda kurung (delimiter) dari sub-proposisi ( q ∨ r ) dan di dalamnya terdapat operator disjungsi (or), maka operasi disjungsi (or) ini akan diturunkan terlebih dahulu dan hasil penurunannya diberi label P1 (baca: Proses pertama). 2. Selanjutnya, proses pambacaan ke sebelah kanan dan akan menemukan tanda kurung (delimiter) dari sub-proposisi ( p ∧ ~ r ), maka sub-proposisi ( p ∧ ~ r ) yang di dalamnya terdapat operator konjungsi (and) dan negasi (not) akan diturunkan. Sesuai dengan prioritas operasi pada kalkulus proposisi, maka sub-proposisi ~ r akan diturunkan terlebih dahulu dan hasil penurunan dari sub-proposisi ~ r akan diberi label P2 (baca: Proses kedua). 3. Karena di dalam sub-proposisi ( p ∧ ~ r ) terdapat dua operator, maka pada tahap ini masih kelanjutan dari sub-proposisi ( p ∧ ~ r ). Setelah
http://digilib.mercubuana.ac.id/
sub-proposisi ~ r diturunkan dan diberi label P2, kemudian hasil penurunan P2 dan operand p akan dilakukan operasi konjungsi (and) dan diberi label P3 (baca: Proses ketiga). 4. Proses selanjutnya, menurunkan sub-proposisi ~ p dan diberi label P4 (baca: Proses keempat). 5. Hasil penurunan sub-proposisi P1 dan P4 kemudian dilakukan operasi konjungsi (and), hasilnya diberi label P5 (baca: Proses kelima). 6. Hasil penurunan sub-proposisi P5 akan dilakukan operasi implikasi (if…then) dengan operand s dan hasil penurunannya diberi label P6 (baca: Proses keenam). 7. Sampai dengan proses keenam, maka hasil penurunan sub-proposisi P6 dan hasil penurunan sub-proposisi P3 dilakukan operasi biimplikasi (if…and…only…if) atau bisa juga disebut dengan operasi ekivalensi antara P6 dengan P3, hasilnya diberi label P7 (baca: Proses ketujuh). Pada proposisi ~ p ∧ ( q ∨ r ) → s ↔ ( p ∧ ~ r ), proses pembagian ke dalam sub-sub proposisi dengan menggunakan metode left most derivation telah selesai dilakukan. Setelah proses pambagian proposisi menjadi sub-sub proposisi selesai dilakukan, langkah selanjutnya adalah proses pembuatan tabel kebenaran. 3.1.2.3
Proses Pembuatan Tabel Kebenaran (Truth Table) Untuk mengevaluasi apakah sebuah proposisi benar atau salah perlu dibuat
tabel kebenaran (truth table). Tabel kebenaran adalah suatu tabel yang merupakan suatu metode untuk menunjukkan secara sistematis satu demi satu nilai kebenaran sebagai hasil kombinasi dari proposisi-proposisi dengan meng-interpretasi-kan setiap simbol proposisi dan menggunakan aturan-aturan semantik (semantic rules). Interpretasi adalah pemberian nilai kebenaran (benar atau salah) pada setiap simbol proposisi dari suatu kalimat logika. Sedangkan, Aturan Semantik adalah suatu aturan yang digunakan untuk menentukan arti suatu kalimat logika atau nilai kebenaran (truth value) dari suatu kalimat. Setiap kombinasi dari proposisi-proposisi atau variabel proposisional, nilainya tergantung dari jenis perangkai atau operator yang digunakan untuk mengkombinasikan proposisi-
http://digilib.mercubuana.ac.id/
proposisi. Tabel kebenaran merupakan cara yang paling jelas untuk membuktikan validitas dari suatu kalimat dengan menentukan kemungkinan nilai-nilai kebenaran yang diberikan pada simbol proposisinya. Jadi, bila suatu kalimat memuat simbol-simbol proposisi p dan q, ada empat kemungkinan interpretasi yang perlu diperhatikan, yaitu: 1. p bernilai benar dan q bernilai benar. 2. p bernilai benar dan q bernilai salah. 3. p bernilai salah dan q bernilai benar. 4. p bernilai salah dan q bernilai salah. Proses tersebut dapat difasilitasi dengan suatu tabel, yang disebut tabel kebenaran (truth table). Dengan aturan semantik dapat ditentukan nilai kebenaran suatu kalimat kompleks untuk semua interpretasi yang mungkin. Jika terdapat n variabel, maka terdapat 2n baris tabel kebenaran. Melanjutkan tahapan proses dari contoh proposisi, yaitu proses pembuatan tabel kebenaran dari proposisi ~ p ∧ ( q ∨ r ) → s ↔ ( p ∧ ~ r ) adalah sebagai berikut: 1. Pada proses pembuatan tabel kebenaran, yang pertama dilakukan adalah menghitung jumlah variabel atau operand dari proposisi. Jumlah operand dari proposisi ~ p ∧ ( q ∨ r ) → s ↔ ( p ∧ ~ r ) adalah sebanyak 4 buah, yaitu p, q, r dan s. Sehingga jumlah test case sebanyak 2n = 24 = 16. Maka, tabel kebenaran yang dibuat memiliki 16 baris sebagaimana pada tabel kebenaran awal di bawah ini:
http://digilib.mercubuana.ac.id/
Tabel 3. 1 Tabel kebenaran awal p
q
r
s
B
B
B
B
B
B
B
S
B
B
S
B
B
B
S
S
B
S
B
B
B
S
B
S
B
S
S
B
B
S
S
S
S
B
B
B
S
B
B
S
S
B
S
B
S
B
S
S
S
S
B
B
S
S
B
S
S
S
S
B
S
S
S
S
Sebagaimana pada tabel kebenaran awal di atas, bahwa terdapat 4 buah operand dan 16 baris yang masing-masing telah di-interpretasi-kan dengan nilai-nilai sebanyak 16 kemungkinan. 2. Setelah didapat tabel kebenaran awal, maka selanjutnya adalah membuat
tabel
kebenaran
berdasarkan
proposisi
yang
telah
dibagi/diturunkan menjadi sub-sub proposisi berdasarkan pada tahap parsing. Sub-proposisi yang pertama dikerjakan adalah P1 = q ∨ r, dengan tabel kebenaran di bawah ini:
http://digilib.mercubuana.ac.id/
Tabel 3. 2 Tabel kebenaran sub-proposisi q ∨ r q
r
q∨ r
B
B
B
B
B
B
B
S
B
B
S
B
S
B
B
S
B
B
S
S
S
S
S
S
B
B
B
B
B
B
B
S
B
B
S
B
S
B
B
S
B
B
S
S
S
S
S
S
Sub-proposisi pertama telah dibuat tabel kebenarannya, maka langkah selanjutnya adalah membuat tabel kebenaran berikutnya sesuai dengan urutan pada proses parsing. 3. Sesuai dengan urutannya, setelah tabel kebenaran pada sub-proposisi pertama dibuat adalah mengerjakan tabel kebenaran selanjutnya yaitu sub-proposisi P2 = ~ r, dengan tabel kebenaran di bawah ini:
http://digilib.mercubuana.ac.id/
Tabel 3. 3 Tabel kebenaran sub-proposisi ~ r r
~r
B
S
B
S
S
B
S
B
B
S
B
S
S
B
S
B
B
S
B
S
S
B
S
B
B
S
B
S
S
B
S
B
Setelah sub-proposisi kedua dibuat tabel kebenarannya, maka langkah selanjutnya adalah membuat tabel kebenaran berikutnya sesuai dengan urutan pada proses pada pembagian proposisi kedalam sub-proposisi, yaitu sub-proposisi P3. 4. Setelah tabel kebenaran pada sub-proposisi P2 = ~ r dibuat, kemudian mengerjakan tabel kebenaran sub-proposisi P3 = p ∧ P2 = p ∧ ~ r, dengan tabel kebenaran di bawah ini:
http://digilib.mercubuana.ac.id/
Tabel 3. 4 Tabel kebenaran sub-proposisi p ∧ ~ r atau p ∧ P2 p
~r
p∧ ~r
B
S
S
B
S
S
B
B
B
B
B
B
B
S
S
B
S
S
B
B
B
B
B
B
S
S
S
S
S
S
S
B
S
S
B
S
S
S
S
S
S
S
S
B
S
S
B
S
Sampai disini sudah sampai pada sub-proposisi ketiga yang dibuat tabel kebenarannya, maka langkah selanjutnya adalah membuat tabel kebenaran berikutnya sesuai dengan urutan pada proses pada pembagian proposisi kedalam sub-proposisi, yaitu sub-proposisi P4. 5. Kemudian proses selanjutnya adalah tahapan proses pembuatan tabel kebenaran sub-proposisi P4 = ~ p, dengan tabel kebenaran seperti ditunjukkan pada tabel di bawah ini:
http://digilib.mercubuana.ac.id/
Tabel 3. 5 Tabel kebenaran sub-proposisi ~ p p
~p
B
S
B
S
B
S
B
S
B
S
B
S
B
S
B
S
S
B
S
B
S
B
S
B
S
B
S
B
S
B
S
B
Sebagaimana terlihat pada Tabel 3.5 di atas, sub-proposisi P4 selesai dibuat tabel kebenarannya, maka langkah selanjutnya adalah membuat tabel kebenaran sesuai dengan urutan tahapan proses, yaitu subproposisi P5. 6. Selanjutnya, yang harus dikerjakan adalah membuat tabel kebenaran sub-proposisi P5 = P4 ∧ P1 = ~ p ∧ ( q ∨ r ). Sehingga tabel kebenarannya menjadi seperti di bawah ini:
http://digilib.mercubuana.ac.id/
Tabel 3. 6 Tabel kebenaran sub-proposisi ~ p ∧ ( q ∨ r ) ~p
q∨ r
~p∧ (q∨ r)
S
B
S
S
B
S
S
B
S
S
B
S
S
B
S
S
B
S
S
S
S
S
S
S
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
S
S
B
S
S
Sub-proposisi P4 dan P1 telah dibuat tabel kebenarannya dengan menggunakan operator konjungsi (and) yang diberi label P5, maka langkah selanjutnya adalah membuat tabel kebenaran untuk subproposisi P6. 7. Berikutnya, yang harus dikerjakan adalah membuat tabel kebenaran sub-proposisi P6 = P5 → s = ~ p ∧ ( q ∨ r ) → s. Sehingga tabel kebenarannya menjadi seperti di bawah ini:
http://digilib.mercubuana.ac.id/
Tabel 3. 7 Tabel kebenaran sub-proposisi ~ p ∧ ( q ∨ r ) → s ~p∧ (q∨ r)
s
~ p∧ (q∨ r)→ s
S
B
B
S
S
B
S
B
B
S
S
B
S
B
B
S
S
B
S
B
B
S
S
B
B
B
B
B
S
S
B
B
B
B
S
S
B
B
B
B
S
S
S
B
B
S
S
B
Hasil penurunan sub-proposisi P5 = ~ p ∧ ( q ∨ r ) dilakukan operasi implikasi (if…then) dengan operand s dan hasil penurunannya adalah sub-proposisi P6. Sub-proposisi P6 tersebut telah dibuat tabel kebenarannya sebagaimana terlihat pada Tabel 3.7 di atas, maka langkah selanjutnya adalah membuat tabel kebenaran berikutnya. 8. Setelah selesai membuat tabel kebenaran sub-proposisi P6, maka proses akan dilanjutkan dengan mengerjakan pembuatan tabel kebenaran P7 = P6 ↔ P3 = ~ p ∧ ( q ∨ r ) → s ↔ ( p ∧ ~ r ). Sehingga tabel kebenarannya menjadi seperti di bawah ini:
http://digilib.mercubuana.ac.id/
Tabel 3. 8 Tabel kebenaran ~ p ∧ ( q ∨ r ) → s ↔ ( p ∧ ~ r ) ~ p∧ (q∨ r)→ s
p∧ ~r
~p∧ (q∨ r)→ s ↔ (p∧ ~ r)
B
S
S
B
S
S
B
B
B
B
B
B
B
S
S
B
S
S
B
B
B
B
B
B
B
S
S
S
S
B
B
S
S
S
S
B
B
S
S
S
S
B
B
S
S
B
S
S
Sub-proposisi P6 = ~ p ∧ ( q ∨ r ) → s dan sub-proposisi P3 = p ∧ ~ r dilakukan operasi bi-implikasi (if…and…only…if), hasilnya adalah P7. P7 = ~ p ∧ ( q ∨ r ) → s ↔ ( p ∧ ~ r ) tersebut telah dibuat tabel kebenarannya sebagaimana terlihat pada Tabel 3.8 di atas, maka sampai pada langkah ini keseluruhan dari proposisi secara lengkap, yaitu ~ p ∧ ( q ∨ r ) → s ↔ ( p ∧ ~ r ) sudah menjadi tabel kebenaran yang lengkap. Artinya, proses pembuatan tabel kebenaran dari proposisi ~ p ∧ ( q ∨ r ) → s ↔ ( p ∧ ~ r ) selesai dikerjakan tahap demi tahap dan hasil akhir sudah didapatkan.
http://digilib.mercubuana.ac.id/
3.2
Perancangan Aplikasi
Dalam segmen ini bertujuan untuk merancang solusi dari permasalahan yang telah dianalisa sebelumnya. Pada tahap perancangan ini memberikan suatu algoritma dan model diagram yang lebih terperinci sebagai acuan dalam proses pembuatan sistem perangkat lunak yang diinginkan. 3.2.1 Perancangan Algoritma Algoritma merupakan urutan-urutan dari instruksi atau langkah-langkah logis untuk membantu dalam menyelesaikan suatu masalah berdasarkan pada pola pikirnya masing-masing, sebaiknya algoritma disusun sebelum membuat program. Algoritma memiliki kriteria-kriteria diantaranya: Ada input, ada output, ada proses, efektif, efisien dan terstruktur. Sifat algoritma tidak tergantung pada suatu bahasa pemrograman, notasi-notasinya dapat digunakan untuk seluruh bahasa manapun karena tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman. Algoritma dapat digunakan untuk merepresentasikan suatu urutan kejadian secara logis dan dapat diterapkan pada semua kejadian sehari-hari. Pada perancangan Aplikasi ini juga menggunakan algoritma-algoritma supaya hasilnya sesuai dengan yang diharapkan. Berikut langkah-langkah yang akan digunakan dalam Aplikasi Pembelajaran Kalkulus Proposisi: 1. Klik Start untuk memulai Aplikasi Pembelajaran Kalkulus Proposisi. 2. Isikan Username dan Password pada form login. 3. Klik OK untuk melanjutkan atau klik Cancel untuk membatalkan. 4. Pilih menu Materi untuk membuka materi kalkulus proposisi untuk dipelajari. 5. Pilih menu Input Proposisi untuk menyelesaikan kalkulus proposisi. 6. Klik Submit untuk melanjutkan atau klik Cancel untuk membatalkan. 7. Sistem akan menjalankan tahapan proses kalkulus proposisi. 8. Hasil proses ditampilkan. Algoritma dalam Aplikasi Pembelajaran Kalkulus Proposisi di atas dapat juga dibuat dalam bentuk Flowchart Diagram seperti di bawah ini:
http://digilib.mercubuana.ac.id/
Gambar 3. 2 Flowchart Diagram Aplikasi Pembelajaran Kalkulus Proposisi 3.2.2 Perancangan Usecase Diagram Dalam proses perancangan Aplikasi Pembelajaran Kalkulus Proposisi ini dilengkapi dengan Usecase Diagram yang merupakan bagian dari perancangan konseptual.
http://digilib.mercubuana.ac.id/
Gambar 3. 3 Usecase Diagram Aplikasi Pembelajaran Kalkulus Proposisi 3.2.3 Perancangan Activity Diagram dan Sequence Diagram Pada tahap perancangan ini, activity diagram dan sequence diagram dibuat secara bertahap dan dibagi pada setiap sub program yang sedang dirancang. Berikut ini activity diagram dan sequence diagram yang digunakan dalam perancangan Aplikasi Pembelajaran Kalkulus Proposisi. Activity diagram dan sequnce diagram dibawah ini diawali dari Startup Aplikasi sampai dengan
http://digilib.mercubuana.ac.id/
ditampilkannya Form Login untuk login pengguna dengan cara input username dan password.
Gambar 3. 4 Activity Diagram Startup Aplikasi Sedangkan sequence diagram dari Startup Aplikasi Pembelajaran Kalkulus Proposisi adalah sebagai berikut:
Gambar 3. 5 Sequence Diagram Startup Aplikasi
http://digilib.mercubuana.ac.id/
Activity diagram dan sequence diagram yang kedua merupakan lanjutan dari Startup yaitu sub program untuk Login.
Gambar 3. 6 Activity Diagram Login Aplikasi
http://digilib.mercubuana.ac.id/
Untuk sequence diagram dari sub program Login adalah seperti terlihat pada gambar berikut ini:
Gambar 3. 7 Sequence Diagram Login Aplikasi Pada tahap ini jika dilihat seperti pada visualisasi rancangan sub program login diatas dapat dituliskan sebagai berikut: 1. Pengguna input username dan password untuk menggunakan Aplikasi. 2. Submit username dan password, kemudian system akan melakukan pengecekan dan validasi username dan password ke database dimana username dan password disimpan. 3. Jika username dan password sudah di submit dan valid, maka Main Menu akan ditampilkan beserta menu-menu yang disediakan. 4. Pengguna dapat menggunakan Aplikasi dan dapat memilih menumenu yang disediakan sesuai keinginannya.
http://digilib.mercubuana.ac.id/
Selanjutnya, jika pada Main Menu pengguna memilih menu Materi Proposisi maka yang akan diproses adalah halaman Materi Proposisi yang berisi rangkuman materi kalkulus proposisi secara singkat.
Gambar 3. 8 Activity Diagram Materi Proposisi Dari gambar activity diagram untuk sub program Materi Proposisi di atas dapat digambarkan pula rancangan sequence diagram untuk sub program tersebut sebagaimana terlihat pada gambar berikut:
http://digilib.mercubuana.ac.id/
Gambar 3. 9 Sequence Diagram Materi Proposisi Dari rancangan sub program Materi Proposisi seperti terlihat pada activity diagram dan sequence diagram di atas dapat dibaca sebagai berikut: 1. Pengguna memilih menu Materi Proposisi. 2. Halaman presentasi Materi Proposisi yang berisi materi kalkulus proposisi secara singkat ditampilkan. 3. Pada halaman Materi Proposisi terdapat menu-menu untuk melihat materi proposisi secara berurut atau ingin langsung melihat ke halaman yang diinginkan. 4. Jika pengguna memilih menu berdasarkan halaman materi yang diinginkan, maka halaman materi yang diinginkan akan ditampilkan. 5. Jika memilih tombol Next, maka materi berikutnya akan ditampilkan. 6. Jika memilih tombol Prev, maka materi sebelumnya akan ditampilkan.
http://digilib.mercubuana.ac.id/
Berikutnya adalah jika menu yang dipilih oleh pengguna bukan menu Materi Proposisi, tetapi Menu Input Proposisi. Maka diagram activity jika pengguna memilih menu Input Proposisi adalah sebagai berikut:
Gambar 3. 10 Activity Diagram Input Proposisi Sub program Input Proposisi dalam rancangan sequnce diagram sebagaiman terlihat pada gambar di bawah ini:
http://digilib.mercubuana.ac.id/
Gambar 3. 11 Sequence Diagram Input Proposisi Dalam rancangan activity diagram dan sequence diagram sub program Input Proposisi ini, dapat dituliskan seperti dibawah ini: 1. Pengguna memilih menu Input Proposisi. 2. Form untuk Input Proposisi akan ditampilkan. 3. Pengguna dapat memasukkan Proposisi yang ingin diproses pada textbox Proposisi kemudian klik Submit untuk melanjutkan atau Cancel untuk membatalkan. 4. Jika pengguna memilih klik tombol Submit, maka proses dilanjutkan dengan melakukan pengecekan struktur proposisi yang dimasukkan. 5. Jika struktur proposisi valid, maka proses dilanjutkan dengan menyederhanakan proposisi yang dimasukkan menjadi sub proposisi. 6. Sistem
akan
menampilkan
langkah-langkah
penyelesaian
dan
pembuatan tabel kebenaran kalkulus proposisi. Tahap selanjutnya dalam merancang Aplikasi Pembelajaran Kalkulus Proposisi ini adalah membuat rancangan antar-muka Aplikasi atau biasa disebut iterface design.
http://digilib.mercubuana.ac.id/
3.2.4
Rancangan Antar-muka Aplikasi (Interface Design) Pada tahap perancangan ini, yang dilakukan adalah merancang secara
visual tampilan-tampilan antar-muka (interface) Aplikasi yang akan dibuat. Interface pertama adalah Splash Screen. Splash Screen ini merupakan tampilan awal yang berisi informasi mengenai judul aplikasi, nama pembuat beserta NIM, jurusan program studi, fakultas, nama kampus dan tempat, prograss bar dan copyright.
Gambar 3. 12 Design interface Splash Screen Splash Screen ini akan ditampilkan sesaat setelah pengguna klik Start atau pada permulaan Aplikasi dijalankan. Splash Screen akan ditampilkan hanya beberapa detik saja (karena sudah dirancang dengan memanfaatkan komponen timer) kemudian akan ditutup dan disusul ditampilkannya Form Login. Interface yang dirancang berikutnya adalah Form Login, dimana pengguna diharuskan memasukkan username dan password yang valid.
http://digilib.mercubuana.ac.id/
Gambar 3. 13 Design interface Form Login Untuk dapat menggunakan Aplikasi Pembelajaran Kalkulus Proposisi, pengguna harus melakukan Login terlebih dahulu dengan cara memasukkan username pada textbox Username dan password pada textbox Password yang valid dan klik OK. Tombol OK berfungsi untuk melakukan proses selanjutnya sedangkan tombol Cancel untuk membatalkan dan keluar dari Aplikasi. Berikutnya adalah rancangan interface Main Menu Aplikasi.
Gambar 3. 14 Design interface Main Menu Pada halaman Main Menu ini, berisi ucapan terima kasih dan informasi pembuat Aplikasi dan terdapat beberapa menu yang disediakan sehingga pengguna dapat memilih menu yang tersedia. Menu-menu yang disediakan diantaranya adalah menu Materi Proposisi dengan sub menu untuk melihat
http://digilib.mercubuana.ac.id/
halaman-halaman materi baik secara berurut maupun acak (langsung ke materi yang diinginkan), Menu Input Proposisi dan lain-lain. Interface selanjutnya adalah halaman materi proposisi.
Gambar 3. 15 Design interface halaman Materi Proposisi Halaman materi proposisi ini menampilkan informasi-informasi atau materi-materi pembelajaran kalkulus proposisi secara singkat. Untuk melihat materi secara berurut sesuai dengan yang sudah ditentukan dalam Aplikasi maka pengguna dapat memilih tombol Next (untuk melihat halaman berikutnya) atau tombol Prev (untuk melihat halaman sebelumnya). Sedangkan, jika pengguna menginginkan langsung kepada materi tertentu maka dapat memilih menu materi kemudian pilih materi yang ingin dilihat, maka akan ditampilkan materi yang dipilih. Rancangan interface selanjutnya adalah Form Input Proposisi.
http://digilib.mercubuana.ac.id/
Gambar 3. 16 Design interface Form Input Proposisi Form Input Proposisi dirancang untuk memasukkan sebuah proposisi yang ingin diproses, dengan ketentuan-ketentuan yang sudah dibuat batasannya. Untuk memasukkan proposisi, pengguna dibatasi hanya bisa memasukkan operandoperand dan operator-operator dengan cara memilih tombol-tombol yang sudah disediakan dan maksimal panjang karakter adalah 20 karakter dengan jumlah operand maksimal 4 operand serta operasi-operasi yang didukung hanya sebatas yang sudah ditentukan. Pada Form Input Proposisi sebagaimana terlihat pada perancangan interfacenya, terdapat textbox untuk memasukkan proposisi, backspace button untuk menghapus mundur karakter yang sudah dimasukkan, operand button disediakan untuk memasukkan operand-operand proposisi, operator button operator-operator yang mendukung operasi kalkulus proposisi, delimiter button untuk memasukkan tanda kurung sebagai delimiter proposisi yang diinput (bila diperlukan), submit button berfungsi untuk melanjutkan proses kalkulus proposisi yang diinput dan cancel button berfungsi untuk membatalkan dan keluar dari Form Input Proposisi. Jika submit button dipilih maka sistem akan melakukan serangkaian proses dan akan menampilkan form dialog yang berisi langkah-langkah yang dilakukan dalam menyelesaikan proposisi (hasil dari proses proposisi yang sudah diinput). Berikut ini rancangan interface dari form dialog hasil proses proposisi.
http://digilib.mercubuana.ac.id/
Gambar 3. 17 Design interface langkah-langkah penyelesaian Jika OK button dipilih maka sistem akan melakukan serangkaian proses dan akan menampilkan halaman presentasi penyelesaian proposisi tahap demi tahap (hasil dari proses proposisi yang sudah diinput). Berikut ini rancangan interface dari halaman presentasi hasil proses proposisi.
Gambar 3. 18 Design interface halaman presentasi penyelesaian proposisi Hasil dari serangkaian proses kalkulus proposisi yang dilakukan sistem disajikan dalam bentuk presentasi langkah-langkah penyelesaian maupun pembuatan tabel kebenarannya tahap demi tahap. Halaman presentasi hasil ini akan menampilkan proposisi yang valid, langkah-langkah penyelesaian proposisi
http://digilib.mercubuana.ac.id/
yang sudah diinput, langkah-langkah pembuatan tabel kebenaran dengan cara menekan tombol Next (untuk melihat proses berikutnya), tombol Back (untuk melihat proses sebelumnya) dan tombol Exit untuk keluar dari halaman presentasi hasil. Setelah tahapan-tahapan perancangan Aplikasi ini selesai, maka langkah selanjutnya adalah membangun Aplikasi sesuai dengan rancangan-rancangan tersebut di atas. Selain rancangan-rancangan interface di atas, penulis juga merancang interface halaman admin yang berfungsi untuk menambah maupun menghapus user yang sudah ada dan halaman input materi yang berfungsi untuk menambah maupun menghapus data materi berupa image atau gambar yang relevan. Kedua halaman ini dibatasi dalam hal hak akses, hak akses dibagi menjadi dua yaitu hak akses untuk pengguna dengan level user 1 dan level user 2. Untuk hak akses dengan login pengguna level user 1 dapat mengakses seluruh halaman yang ada di Aplikasi Pembelajaran Kalkulus Proposisi ini, sedangkan untuk login pengguna dengan level user 2 dibatasi (termasuk tidak diijinkan mengakses halaman admin dan input materi). Rancangan interface halaman admin adalah sebagai berikut:
Gambar 3. 19 Design interface halaman Admin Pada halaman Admin dirancang untuk dapat menampilkan user-user yang sudah ada di dalam database (jika ada), menghapus user yang ada dalam database maupun menambah atau menyimpan user baru ke dalam database. Sedangkan untuk halaman input materi, berikut ini adalah rancangan interface yang dibuat
http://digilib.mercubuana.ac.id/
dengan harapan dapat mempermudah dalam mengelola materi-materi yang relevan seiring dengan perkembangan materi terbaru.
Gambar 3. 20 Design interface halaman Input Materi Halaman input materi ini dirancang untuk mengelola data-data materi pembelajaran yang berupa image atau gambar. Data-data yang sudah disimpan dapat ditampilkan dalam bentuk preview dan dapat pula dihapus. Sedangkan untuk menambahkan data, pengguna harus mengisikan nomor dan nama file sebagai identitas data yang akan disimpan dengan syarat nomor urut yang diinput tidak boleh sama dengan nomor urut yang sudah tersimpan dalam database. Hal ini diberlakukan dengan alasan supaya tidak ada duplikasi nomor urut file yang tersimpan karena pada saat ada permintaan untuk menampilkan materi pembelajaran yang disimpan, metode yang digunakan dengan memanggil data berdasarkan nomor urut file.
http://digilib.mercubuana.ac.id/