Gambaran awal tentang segi tiga pascal yang berkaitan dengan binomial muncul pada abad ke-10 yang diulas dalam Chandas Shastra, yang ditulis oleh Pingala antara abad ke-5–ke-2 SM. Dalam Karya Pingala hanya muncul tentang pecahan, yang diulas oleh Halayudha, sekitar tahun 975.
Pada waktu yang sama, ia telah dibicarakan oleh ahli matematik Al-Karaji (953–1029) dan penyair, ahli nujum, sekaligus matematikawan Omar Khayyám (1048-1131); karena itu segi tiga disebut juga sebagai “segi tiga Khayyam” di Iran. Beberapa teori berkaitan dengan segi tiga tersebut telah diketahui, salah satunya binomial newton. Ternyata kita bisa memastikan bahawa Khayyam menggunakan suatu cara mencari puncak ke-n berdasarkan pengembangan binomial.
Pada abad ke-13, Yang Hui (1238-1298) menyampaikan segi tiga aritmatika, yang sama dengan Segitiga Pascal. Hari ini segi tiga Pascal disebut“segi tiga Yang Hui” di China.
Akhirnya, di Italia, ia disebut sebagai “segi tiga Tartaglia”, dinamakan berdasarkan ahli aljabar Itali Niccolò Fontana Tartaglia yang hidup seabad sebelum Pascal (1500-1577); Tartaglia dikenal dengan rumus umum penyelesaian polinomial kubik (yang mungkin dari Scipione del Ferro tetapi diterbitkan oleh Gerolamo Cardano 1545).
Petrus Apianus ( 1495 -1552 ) menerbitkan Segitiga itu pada ilustrasi depan bukunya tentang perniagaan 1531/32 dan suatu versi asal pada 1527 yang merupakan catatan pertamanya di Eropa.
Pada 1655, Blaise Pascal menulis sebuah Traité du triangle arithmétique (Perjanjian pada segi tiga aritmetik). Dia mengumpul beberapa penilaian kemudian diketahui mengenai segi tiga itu, dan menggunakannya untuk menyelesaikan masalah teori kemungkinan. Segitiga itu kemudian dinamakan sesuai nama Pascal oleh Pierre Raymond de Montmort (1708) dan Abraham de Moivre (1730).
Kegunaan Segitiga Pascal
Segitiga pascal memiliki beberapa kegunaan. Kegunaan-kegunaan tersebut yaitu :
- Menentukan Koefisien Suku-suku Pada Pemangkatan Suku Dua.
Contoh aplikasi segitiga pascal dalam permasalahan ini sebagai berikut, misalkan persamaan suku dua yang dimiliki (a + b)2 = (a + b)(a + b) jika dikalikan secara aljabar akan diperoleh a2 + 2ab + b2. Koefisien dari a2 adalah 1. Koefisien dari ab adalah 2. Koefisien dari b2 adalah 1. Bila diamati bilangan 1, 2, dan 1 merupakan bilangan baris ke-2 pada segitiga Pascal.
Hal tersebut berarti koefisien pada (a + b)3 adalah 1, 3, 3, dan 1. Agar lebih jelas mari kita buktikan bersama. (a + b)3 = (a + b)(a + b)(a + b) = (a2 + 2ab + b2)(a + b) = a3 + 3a2b + 3ab3 + b3. Sehingga diperoleh masing masing, Koefisien a3 = 1. Koefisien a2b = 3. Koefisien ab2 = 3. Koefisien b3= 1. Dengan demikian terbukti bahwa perkiraan kita di atas adalah benar, karena itu dapat disimpulkan: Jila (a + b)n maka kefisien dari suku-sukunya merupakan bilangan baris ke-n pada Segitiga Pascal. - Menentukan banyak himpunan bagian
- Menentukan Nilai Peluang atau Kemungkinan Suatu Kejadian.
Jika tiga buah kartu (sebelah atas bergambar dan sebelah bawah bertuliskan angka) dilempar ke atas secara bersama-sama maka: P (tiga gambar) adalah 1/8, P ( Tiga gambar satu angka) adalah 3/8. P menyatakan Peluang. P (Satu gambar tiga angka) adalah 3/8, P (Tiga angka) adalah 1/8. Kita amati pembilang dari nilai-nilai peluang pada kejadian tesebut di atas, yaitu: 1, 3, 3, dan 1 ternyata angka tersebut merupakan angka-angka baris ketiga pada segitiga Pascal. Selain itu, penyebut dari nilai-nilai peluang pada kejadian tesebut di atas, yaitu angka 8 sama dengan jumlah angka baris ketiga pada segitiga Pascal.
Membuat Segitiga Pascal dengan Array
Setelah selesai membaca sejarah dan teorinya, kita akan melanjutkan penarapannya dalam pemrograman. Kalian bisa menuliskan kode programnya dalam bahasa C atau C++.
#include <stdio.h>
int main(){
int i=0;
int j=0;
int n=10;
int k, a1[25], a2[25];
a1[0]=1;
a1[1]=1;
while(i<=n){
//mencetak spasi sesuai baris
j=0;
k=n-i;
while(j<k){
printf(" ");
j++;
}
//cetak dan isi array berikutnya;
a2[0]=1;
j=1;
printf("%d", 1);
while(j<=i){
a2[j]=a1[j-1]+a1[j];
printf("%4d", a1[j]);
j++;
}
printf("\n");
a2[j]=1;
i++;
//salin array
j=0;
while(j<=i){
a1[j]=a2[j];
j++;
}
}
return 0;
}
Pada dasarnya tiap baris pada segitiga pascal adalah penjumlahan bilangan yang posisinya berurutan pada baris sebelumnya. Misalnya angka kedua pada baris ketiga adalah hasil penjumlahan "1+1" pada baris ke dua. Selain itu, setiap baris segitiga pascal yang terdiri dari dua bilangan atau lebih, selalu diapit oleh angka 1.
Pada kode program di atas saya hanya menggunakan dua array. Pada awalnya array kedua kita gunakan untuk menyimpan hasil penjumlahan aray pertama. kemudian, kita mengubah aray kedua menjadi aray pertama dan menampilkan isi array pertama pada tiap perulangan.
Entah penjelasan saya cukup jelas atau belum. Tapi, kalau belum jelas silakan tanyakan pada komentar yang tersedia di blog ini.
Menggunakan kombinasi
Selain menggunakan array, kita juga bisa menggunakan kombinasi seperti contoh yang saya buat di bawah ini. Kombinasi bisa digunakan untuk mencari himpunan bagian seperti halnya segitiga pascal. Karena itu, kombinasi bisa digunakan untuk mencari satu baris dalam segitiga pascal walaupun baris sebelumnya tidak diketahui.
#include <iostream>
#include <iomanip>
using namespace std;
long int kambisego(int kelompok, int total){
int i;
int hasil=1;
for(i=(total-kelompok)+1;i<=total;i++){
hasil*=i;
}
for(i=kelompok;i>0;i--){
hasil/=i;
}
return hasil;
}
int main(){
int n=10;//baris-1
for(int baris=0;baris<=n;baris++){
for(int i=0;i<=baris;i++){
if(i==0)cout << setw((n-baris)*3) << kambisego(baris-i, baris) <<" ";
else cout << setw(5) << kambisego(baris-i, baris) <<" ";
}
cout << endl;
}
return 0;
}