MATEMATIKA DISKRIT-ALGORITMA WARSHALL

Algoritma Warshall adalah salah satu varian dari pemrograman dinamis, metode untuk memecahkan masalah pencarian rute terpendek.

Metode ini melakukan pemecahan masalah dengan memandang solusi yang akan diperoleh sebagai suatu keputusan yang saling terkait. Maksudnya, solusi-solusi dibentuk dari solusi yang berasal dari tahap sebelumnya dan ada kemungkinan solusi lebih dari satu.

Algoritma ini juga bisa diterapkan pada sebuah aplikasi pencari rute jalan yang terdekat dari suatu daerah ke daerah lainnya. dengan metode ini hasil yang di dapat bisa lebih optimal namun memelukan resource yang cukup besar jika dipakai untuk pencarian yang kompleks.

Ok langsung kita lanjut aja ke contoh.

Contoh 1 :

imgwarshal

carilah rute terpendek dari A ke G , nah pasti ada banyak rute dari gambar diatas berikut rute-rutenya :

  1. A-E-D-G
  2. A-F-G
  3. A-B-G

sekarang kita tentukan mana rute yang sekiranya paling dekat, untuk itu saya jelaskan dibawah:

  1. A-E-D-G (2+6+5) = 13
  2. A-F-G (3+4) = 7
  3. A-B-G (4+7) = 11

Kesimpulannya rute yang paling dekat dan paling sedikit ongkosnya adalah yang rute no 2 (A-F-G) karena total ongkosnya 7 saja.

Contoh 2 :

imgwarshal2

carilah rute terpendek dari B ke F , nah pasti ada banyak rute dari gambar diatas berikut rute-rutenya :

  1. B-A-F
  2. B-C-E-F
  3. B-D-E-F

sekarang tentukan jarak yang paling dekat.

  1. B-A-F (5+10) = 15km
  2. B-C-E-F (6+4+3) = 13km
  3. B-D-E-F (3+3+3) = 9km

Jadi jarak terdekat dari ketiga rute tersebut adalah rute no 3 karena hanya berjarak 9km saja .

Sekian blog saya teman-teman jika ada salah dalam penyampaian materi mohon dikomentar ya untuk sesama belajar .

THANKYOU!!!!

LOGIKA MATEMATIKA

Logika Matematika merupakan sebuah gabungan dari ilmu logika dan matematika yang akan memberikan kesimpulan dalam sebuah landasan.Logika matematika juga menentukan kesimpulan benar atau salah .Materi logika matematika yang akan dibahas kali ini adalah mengenai pernyataan, negasi , disjungsi , konjungsi , implikasi , biimplikasi,invers dan konvers.

Negasi (pernyataan ingkaran)

Negasi atau biasa disebut dengan ingkaran yaitu kalimat berisi sanggahan, sangkalan, negasi biasanya dibentuk dengan cara menuliskan kata-kata ‘tidak benar bahwa…’ di depan pernyataan yang disangkal atau disanggah. Seperti pada contoh yang ada di bawah ini:

Pernyataan A :

motor mempunyai roda 2 buah

Negasi dari pernyataan A :

Tidak benar bahwa motor memiliki roda dua buah.

Pernyataan Majemuk

Pernyataan majemuk yaitu berisikan sebuah disjungsi ,konjungsi ,implikasi dan biimplikasi.

Konjungsi

Konjungsi disini menggunakan simbol “^” atau bisa juga menggunakan “dan”

p q P ^ q Logika matematika
B B B Jika p benar dan q benar maka p dan q adalah benar
B S S Jika p benar dan q salah maka p dan q adalah salah
S B S Jika p salah dan q benar maka p dan q adalah salah
S S S Jika p salah dan q salah  maka p dan q adalah salah

;; dari tabel tersebut dapat disimpulkan bahwa harus benar agar bernilai benar dalam konsep konjungsi.

Disjungsi

Disjungsi disini menggunakan simbol “v” atau bisa juga menggunakan “atau

p q P v q Logika matematika
B B B Jika p benar dan q benar maka p atau q adalah benar
B S B Jika p benar dan q salah maka p atau q adalah benar
S B B Jika p salah dan q benar maka p atau q adalah benar
S S S Jika p salah dan q salah  maka p atau q adalah salah

Karena di dalam disjungsi menggunakan konsep ‘atau’ artinya apabila salah satu atau kedua pernyataan memiliki nilai benar maka logika matematikanya akan dianggap benar.

Implikasi

Implikasi merupakan konsep kesesuaian, kedua pernyatan akan digabungkan dengan kata “jika maka”

p q => q Logika matematika
B B B Jika awalnya BENAR lalu akhirnya BENAR maka dianggap BENAR
B S S Jika awalnya BENAR lalu akhirnya SALAH maka dianggap SALAH
S B B Jika awalnya SALAH lalu akhirnya BENAR maka dianggap BENAR
S S B Jika awalnya SALAH lalu akhirnya SALAH maka dianggap BENAR

Biimplikasi

Biimplikasi kedua pernyatan akan dianggap benar jika kedua pernyataan sama-sama bernilai benar dan salah. biimplikasi diucapkan dengan kata “jika dan hanya jika”

INVERS,KONVERS DAN KONTRAPOSISI

Logika Matematika

 

Sekian jika ada yang salah mohon komen dibawah , kita sama sama belajar tentang Logika Matematika KOMENTAR anda membantu!!!

Menghitung Luas Lingkaran bahasa C

Halo teman-teman , kali ini saya akan membuat sebuah fungsi untuk mecari luas lingkaran , siapa tahu fungsi ini dapat bermanfaat untuk pelengkap program lain dari teman-teman.

yuk langsng saja!

#include <stdio.h>
#include <stdlib.h>

int main()
{
float r,luas,kel;
float phi=3.14;

printf(“masukan jari jari lingkaran : “);scanf(“%f”,&r);

luas=phi*r*r;
printf(“luas segitiga : %.2f”,luas);

getch();
return 0;
}

nah untuk outputnya langsung di run

ling

okee thankyou for visit!!

http://dinus.ac.id/

Inputan dan Grade Nilai Mahasiswa

Halo teman-teman,kali ini saya akan membahas fungsi untuk memasukan dan menghitung nilai pada mahasiswa.Lalu merubah nilai tersebut dari angka menjadi sebuah karakter yaitu A,B,C,D atau E.

Yuk kita bahas dibawah!!!

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()
{
int uas,uts,quis,tugas,Npresentasi,Nkehadiran;///ini parameter yang akan kita gunakan ada input nilai nanti
float Nrata;
char grade;

///Inputan
printf(“Nilai UAS : “);scanf(“%d”,&uas);
printf(“Nilai UTS : “);scanf(“%d”,&uts);
printf(“Nilai Tugas : “);scanf(“%d”,&tugas);
printf(“Nilai QUIZ : “);scanf(“%d”,&quis);
printf(“Nilai Presentasi : “);scanf(“%d”,&Npresentasi);
printf(“Jumlah Kehadiran : “);scanf(“%d”,&Nkehadiran);

///hitung nilai
Nrata=0.3*uas+0.25*uts+0.1*quis+0.15*tugas+0.15*Npresentasi+0.05*Nkehadiran;///sudah dibagi dalam presentase.
///output
printf(“Total Nilai = %.2f\n”,Nrata);
///klasifikasi nilai
if(Nrata>=85)
{
grade=’A’;
}
else if(Nrata>=75&&Nrata<85)
{
grade=’B’;
}
else if(Nrata>=65&&Nrata<75)
{
grade=’C’;
}
else if(Nrata>=55&&Nrata<65)
{
grade=’D’;
}
else if(Nrata<55)
{
grade=’E’;
}
///output grade
printf(“Grade nilai Akhir = %c”,grade);
getch();

return 0;
}

silahkan di run dan hasilnya bisa jadi seperti yang saya inputkan!!

grade

 

Sekian dulu dari  saya bila ada yang SALAH mohon dibenarkan atau komen ya!! thankyou.

http://dinus.ac.id/

Menentukan Jenis , Luas dan Keliling Segitiga

#include <stdio.h>
#include <stdlib.h>

int main()
{

float sisiA, sisiB, sisiC, a, t, luas, kel, bahanluas;

puts(“”);

///ini untuk proses inputan ke sisi segitiga
printf(“Nilai sisi 1 :”);scanf(“%f”, &sisiA);
printf(“Nilai sisi 2 :”);scanf(“%f”, &sisiB);
printf(“Nilai sisi 3 :”);scanf(“%f”, &sisiC);
puts(“”);

///menentukan jenis suatu segitiga dengan perbandingan antara sisi sisinya sebagai berikut

if (sisiA==sisiB && sisiA==sisiC)

{
printf(“Berdasarkan sisinya segitiga tersebut merupakan segitiga sama sisi\n”);
}
else if (sisiA==sisiB || sisiB==sisiC || sisiA==sisiC)
{
printf(“Berdasarkan sisinya segitiga tersebut merupakan segitiga sama kaki\n”);
}
else
{
printf(“Berdasarkan sisinya segitiga tersebut merupakan segitiga sembarang\n”);
}

///rumus segitiga
puts(“”);
kel=sisiA+sisiB+sisiC;
bahanluas=kel/2;///untuk menghitung luas dengan keliling segitiga
luas=sqrt(bahanluas*(bahanluas-sisiA)*(bahanluas-sisiB)*(bahanluas-sisiC));
printf(“Luas Segitiga :%.1f cm\n”, luas);
printf(“Keliling Segtiga :%.0f cm\n”, kel);

return 0;
}

segitiga

http://dinus.ac.id/

Mengkonversikan suatu suhu ke suhu yang lain (Celcius,Fahrenheit,Kelvin,Reamur)

Halo teman teman kali ini saya akan memberikan source code saya tentang konversi suhu.

#include <stdio.h>
#include <stdlib.h>

int main()
{
float suhu, hasil;
int klasifikasi;
char back;

printf(“******************************************\n”);
printf(“\nProgram Konversi Suhu \n \n”); //Nama Program
printf(“******************************************\n”);
ulang :
printf(“Pilih satuan suhu yang ingin anda konversikan : \n”); //Klasifikasi suhu yang akan dikonversi
printf(“1. Celcius\n”);
printf(“2. Fahrenheit\n”);
printf(“3. Reamur\n”);
printf(“4. Kelvin\n”);
printf(“Silahkan pilih jenis suhu : “);
scanf(“%d”, &klasifikasi);
switch(klasifikasi)
{
case 1:/// Case ini berfungsi untuk mengkonversi suhu Celcius ke suhu lain
printf(“Masukkan besar suhu : “);
scanf(“%f”, &suhu);
hasil=(suhu*1.8)+32;
printf(“Farenheit : %.2f Fahrenheit\n”, hasil);
hasil=suhu*0.8;
printf(“Reamur : %.2f Reamur\n”, hasil);
hasil=suhu+273.15;
printf(“Kelvin : %.2f Kelvin\n”, hasil);
break;
case 2:/// Case ini berfungsi untuk mengkonversi suhu Fahrenheit ke suhu lain
printf(“Masukkan besar suhu : “);
scanf(“%f”, &suhu);
hasil=(suhu-32)/1.8;
printf(“Celcius : %.2f Celcius\n”, hasil);
hasil=(suhu-32)/2.25;
printf(“Reamur : %.2f Reamur\n”, hasil);
hasil=((suhu-32)/1.8)+273.15;
printf(“Kelvin : %.2f Kelvin\n”, hasil);
break;
case 3:/// Case ini berfungsi untuk mengkonversi suhu Reamur ke suhu lain
printf(“Masukkan besar suhu : “);
scanf(“%f”, &suhu);
hasil=suhu/0.8;
printf(“Celcius : %.2f Celcius\n”, hasil);
hasil=(suhu*2.25)+32;
printf(“Farenheit : %.2f Fahrenheit\n”, hasil);
hasil=(suhu/0.8)+273.15;
printf(“Kelvin : %.2f Kelvin\n”, hasil);
break;
case 4:/// Case ini berfungsi untuk mengkonversi suhu Kelin ke suhu lain
printf(“Masukkan besar suhu : “);
scanf(“%f”, &suhu);
hasil=suhu-273.15;
printf(“Celcius : %.2f Celcius\n”, hasil);
hasil=((suhu-273.15)*1.8)+32;
printf(“Farenheit : %.2f Fahrenheit\n”, hasil);
hasil=(suhu-273.15)*0.8;
printf(“Reamur : %.2f Reamur\n”, hasil);
break;
default:
printf(“<Kode pilihan anda tidak ada silahkan masukan kode>\n”); ///Statement saat pilihan salah
}
system(“pause”);
return 0;
}

untitled

udinus : http://dinus.ac.id/