ALGORITMA TRANSPORTASI
Oleh
Kelompok 7
1. Nahda Cindy Aprilia 120210101108
2. Anis Fitriatun Ni’mah 120210101111
3. Perdana Arief Sandy 120210101112
4. Loviga Deny Pratama 120210101116
5. Ahmad Faizul Karim 120210101117
6. Ryan Arief Firmansyah 120210101123
Puji syukur kehadirat Tuhan Yang Maha Kuasa atas segala limpahan
Rahmat, Inayah, Taufik dan Hinayahnya sehingga kami dapat menyelesaikan
makalah ini yang berjudul ‘Pemrograman Bilangan Bulat Algoritma Transportasi’
. Semoga makalah ini dapat dipergunakan sebagai salah satu acuan, petunjuk
maupun pedoman bagi pembaca dalam administrasi pendidikan dalam profesi
keguruan.Harapan kami semoga makalah ini membantu menambah pengetahuan
dan pengalaman bagi para pembaca, sehingga kami dapat memperbaiki bentuk
maupun isi makalah ini sehingga kedepannya dapat lebih baik.
Makalah ini kami akui masih banyak kekurangan karena pengalaman
yang kami miliki masih kurang. Oleh kerena itu kami berharap kepada para
pembaca untuk memberikan masukan-masukan yang bersifat membangun untuk
kesempurnaan makalah ini.
Penyusun
1.1 PENGANTAR MATERI
Matematika merupakan bahasa. Hampir di setiap mata pelajaran
terdapat unsur matematika. Tidak terkecuali di bidang kelompok mata
pelajaran social. Kita telahmempelajari matematika sejak masih di taman
kanak-kanak. Ilmu matematika dasar seperti penjumlahan, pengurangan,
perkalian maupun pembagian yang kita dapatkan. Selain itu, aplikasi dari ilmu
dasar tersebut juga sudah kita terpakan dalam kehidupan sehari-hari, terutama
dalam bidang ekonomi.
Ekonomi merupakan salah satu bagian dari matematika yang paling
banyak menerapkan matematika. Di dalam dunia bisnis, tidak hanya
pemahaman tentang ekonomi saja yang dibutuhkan. Akan tetapi kemahiran
dalam matematika juga dibutuhkan. Hal ini karena ekonomi setiap saat selalu
bergelut dengan matematika. Perhitungan utang piutang, strategi perusahaan
dalam produksi dan pemasaran juga membutuhkan matematika agar
perusahaan bisa menekan pengeluaran dan meningkatkan pendapatan.
Tujuan dari pembuatan makalah sebagai materi diskusi ini adalah untuk
menjelaskan tentang Pemrograman Bilangan Bulat yaitu Algoritma
Transportasi agar mahasiswa dapat mengetahui, memahami, dan terampil
membuat program dan memahaminya.
unit produk dari sumber ke-i ke tujuan (tempat alamat) ke-j diketahui
untuk tiap-tiap i dan j. Di sini dianggap bahwa total penawaran, (supply)
dan permintaan sama yaitu :
m n
ai b j
i 1 j 1 (8.1)
surplus jika permintaan total lebih kecil daripada total penawaran, atau
Soal 8.1).
n
dengan kendala : x
j 1
ij ai (i 1,..., m)
(8.2)
m
x
i 1
ij b j ( j 1,..., n)
2. Algoritma Transportasi
Aproksimasi pertama terhadap sistem (8.2)selalu bulat dan dengan
demikian selalu merupakan pemecahan optimal. Algoritma Transportasi
adalah metode simpleks yang dikhususkan terhadap format (bentuk) Tabel
8-1, dan melibatkan :
i. mencari suatu pemecahan awal yang layak;
ii. menguji apakah pemecahan ini optimal;
iii. memperbaiki pemecahannya jika ia tidak optimal; dan
iv. mengulangi kembali langkah-langkah 2 dan 3 hingga diperoleh
pemecahan yang optimal.
Tempat alamat
1 2 3 ... n Suplai ui
c11 c12 c13 c1n
1 ... a1 u1
x11 x12 x13 x1n
c21 c22 c23 c2n
2 ... a2 u2
x21 x22 x23 x2n
......... ......... ......... ......... ......... ......... ........ ...
Tabel 8-1
3. Pemecahan-Dasar Awal
1. Alokasikan sel pertama pada contohnya sel x11 dalam Tabel 8-1
B. Metode Vogel
3. Dalam baris atau kolom ini, lokasikan variabel (sel) yang tak-
melanggari kendala-kendalanya.
variabel tak dasar tidak ditulis dalam Tabel 8-1 dengan pengertian
bahwa nilai dari variabel-variabel tak dasar ini nol dan
4. Uji Optimalitas
Tetapkan salah satu (sembarang) dari uiatau vj dalam Tabel 8-1 harga
nol dan hitunglah uidan vjyang sisa sehingga untuk tiap-tiap variabel dasar
ui+vj = cij. Kemudian, untuk tiap-tiap variabel tak-dasar, hitunglah besaran
cij – ui – vj. Jika semua besaran yang terakhir ini tak-negatif, maka
pemecahan ini optimal; jika tidak, pemecahannya tidak optimal. Lihat soal
8.4 dan 8.8.
5. Memperbaiki Pemecahan
Definisi: sebuah lup(loop) aalah suatu barisan sel-sel dalam tabel 8-1
yang sedemikian rupa sehingga:
a. tiap-tiap pasangan sel yang berturutan terletak dalam baris
yang sama atau kolom yang sama;
b. tidak ada sel berturutan yang terletak dalam baris atau
kolom yang sama;
c. sel pertama dan yang terakhir dari barisan sel ini terletak
dalam baris atau kolom yang sama;
d. tidak ada sel yang muncul dari sekali dalam barisan sel ini.
6. Turun-Derajat (Degeneracy)
Berdasarkan persyaratan (8.1), maka halnya terdapat n + m – 1
persamaan kendala dalam sistem (8.2) yang bebas. Maka, menurut soal-
soal 3.13 dan 3.14, sebuah pemecahan dasar yan layak yang tak
turunderajat (nondegenerate) akan dicirikan oleh harga-harga positif n +
m -1 buah variabel bebas. Jika proses memperbaiki pemecahan dasar yang
diperoleh menghasilkan dua atau lebih variabel yang direduksikan secara
serempak menjadi nol, maka hanya satu variabel sajayang diperkenankan
menjadi tak-dasar (meskipun yan diingini adalah variabel yang
berhubungan dengan biaya-biaya pengiriman unit yang tertinggi).
Variabel-variabel lainnya tetap merupakan variabel-variabel dasar, tetapi
dengan alokasi nol, yang dengan demikian membuat pemecahan dasar
yang baru turun-derajat (degenerate).
Aturan sudut barat-laut selalu menghasilkan suatu pemecahan dasar
(soal 8.2); tetapi dapat terjadi bahwa aturan ini gagal menghasilkan n + m
– 1 buah harga positif (soal 8.3), sehingga dengan demikian menghasilkan
sebuah pemecahan yang turun-derajat. Jika dipergunakan metode Vogal,
dan ternyata tidak menghasilkan jumlah nilai positif yang sama, maka
harus diperkenalkan beberapa variabel tambahan dengan alokasi nol
sebagaivariabel dasar (lihat soal 8.6). pemilihan ini sembarang dengan
catatan: variabel-variabel dasar tidak dapat membentuk loop dan biasanya
lebih cenderung diberikan pada variabel-variabel dngan biaya-biaya
pengiriman yang terendah.
Memperbaiki suatu pemecahan yang turun-derajat dapat
berkesudahan dengan penggantian suatu variabel dasar yang bernilai nol
dengan variabel dasar lain yang juga bernilai nol. (ini terjadi pada
perbaikan pertama dalam soal 8.4). meskipun kedua pemecahan yang
turun-derajat ini secara efektif adalah sama hanya penamaan variabel-
variabel dasar yang telah berubah, sedangkan nilainya tetap. Tetap iterasi
tambahan ini perlu agar algoritma transportasi dapat dilanjutkan.
Tabel 1 C
Pada tabel di atas dapat diketahui bahwa sel (2,1) memiliki elemen
negatif terbesar, jadi pada sel tersebut kita letakkan sebuah tanda plus tebal
(yang menandakan satu kenaikan) dan membuat sebuah rangkaian tertutup
bergaris tebal yang berisi sel (2,1) dan sel-sel variabel dasar lainnya seperti
yang ditunjukkan pada tabel di atas. Kemudian naikkan alokasi pada sel
(2,1) sebanyak mungkin, dan pada saat yang sama menyesuaikan alokasi-
alokasi dari sel lain dari rangkaian tertutup ini agar tidak melanggar
kendala-kendala suplai, permintaan atau tak negatif. Alokasi positif yang
sembarang pada sel (2,1) akan memaksa x22 menjadi negatif. Untuk
mencegahnya, dengan tetap mempertahankan x21 sebagai variabel dasar,
maka kita tetapkan x21 = 0 dan menyingkirkan x22 dari himpunan variabel-
variabel dasar dalam rangkaian tertutup. Pemecahan dasar yang baru ini,
yang juga turun derajat diberikan dalam tabel berikut:
Tabel 1 D
Selanjutnya periksa lagi apakah pemecahan ini optimal dengan cara
yang sama seperti pada langkah sebelumnya yaitu dengan menghitung u i
dan vj yang baru terhadap variabel-variabel dasar baru, dan kemudian cij –
ui – vjbagi tiap-tiap sel variabel tak dasar. Sehingga didapatkan hasil
seperti yang tercantum pada tabel berikut.
1 2 3 4 Suplai ui
45 17 21 30
1 15 0
(29) 6 3 6
14 18 19 31
2 13 -20
9 (3) 4 (3)
0 0 0 0
(Buatan ) 3 3 -30
(14) (3) (9) 3
Permintaan 9 6 7 9
vj 16 17 21 30
Tabel 1H
Setelah dilakukan satu uji optimalis ( negatif) lagi dan sebagai akibat
pengubahan basisnya, kita peroleh table 1h, yang mana juga
memperlihatkan hasil-hasil dari uji optimalis dari pemecahan dasar yang
baru. Terlihat bahwa setiap cij - ui -vj tak negative, karena itu, pemecahan
yang baru ini optimal. Yaitu, x12* = 6, x13 *=3, x14* = 6, x21* = 9, x23* = 4,
Tentukan suatu skedul penyerahan bagi perusahaan roti ini yang akan
memaksimumkan keuntungan totalnya dari roti istimewa ini dan carilah
pemecahan optimalnya dengan menggunakan :
a. Aturan barat-laut
b. Metode Vorgel
Penyelesaian
a. Aturan barat-laut
Tabel transportasi awal
Jumlah permintaan 1800 + 2300 + 550 + 1750=6400
Jumlah persediaan 2500 + 2100 = 4600
Karena jumlah permintaan lebih dari jumlah persediaan maka kita
ciptakan sebuah sumber buatan (dummy) yang suplainya sama dengan
kekurangan 1800 buah di atas. Sehingga tabel transportasi awal sebagai
berikut:
1 2 3 4 Suplai ui
6 8 11 9
1 2500
12 6 8 5
2 2100
0 0 0 0
(Buatan ) 3 1800
Untuk menentukan apakah alokasi awal pada tabel diatas adalah optimal,
maka langkah pertama yang harus dilakukan adalah menghitung suku-
suku ui dan vj terhadap sel-sel variabel dasar dari tabel. Dengan memilih
secara sembarang u= 0, misal kita pilih u1 = 0, maka didapatkan:
Sel (1,1) : u1 + v1 = c11, 0 +v1 = 6, atau v1= 6
Sel (1,2) : u1 + v2 = c12, 0 +v2 = 8, atau v2 = 8
Sel (2,2) : u2 + v2 = c22, u2+8 = 6, atau u2 = -2
Sel (2,3) : u2 + v3 = c23, -2+v3 = 8, atau v3= 10
Sel (3,3) : u3 + v3 = c33, u3+10 =0, atau u=3-10
Sel (3,4) : u3 + v4 = c34, -10+v4 = 0, atau v4 = 10
Selanjutnya menghitung besaran-besaran cij – ui – vj untuk tiap-tiap sel
variabel tak dasar. Yaitu:
Sel (1,3) : c13 – u1 – v3 = 11 – 0 – 10 = 1
Sel (1,4) : c14 – u1 – v4 = 9 – 0 – 10 = -1
Sel (2,1) : c21 – u2 – v1 = 12 – (-2) – 6 = 8
Sel (2,4) : c24 – u2 – v4 = 5 – (-2) – 10 = -3
Sel (3,1) : c31 – u3 – v1 = 0 – (-10) – 6 = 4
Sel (3,2) : c32 – u3 – v2 = 0 – (-10) – 8 = 2
Hasil-hasil ini di catat dalam tabel baru sebagai berikut:
Karena sekurang-kurangnya satu dari nilai-nilai (cij – ui – vj) ini negatif,
maka pemecahan tidak optimal dan pemecahan yang lebih baik dapat
diperoleh dengan memperbanyak alokasi pada variabel (sel) yang
memiliki elemen negatif terbesar.
1 2 3 4 Suplai ui
6 8 11 9
1 2500 0
1800 700 (1) (-1)
12 6 8 5
2 2100 -2
(8) 1600 500 (-3)
0 0 0 0
(Buatan ) 3 1800 -10
(4) (2) 50 1750
Permintaan 1800 2300 550 1750
vj 6 8 10 10
Tabel 1 C
Pada tabel di atas dapat diketahui bahwa sel (2,4) memiliki elemen negatif
terbesar, jadi pada sel tersebut kita letakkan sebuah tanda plus tebal (yang
menandakan satu kenaikan) dan membuat sebuah rangkaian tertutup
bergaris tebal yang berisi sel (2,4) dan sel-sel variabel dasar lainnya seperti
yang ditunjukkan pada tabel di atas. Kemudian naikkan alokasi pada sel
(2,4) sebanyak mungkin, dan pada saat yang sama menyesuaikan alokasi-
alokasi dari sel lain dari rangkaian tertutup ini agar tidak melanggar
kendala-kendala suplai, permintaan atau tak negatif. Alokasi positif yang
sembarang pada sel (2,4) akan memaksa x23 menjadi negatif. Untuk
mencegahnya, dengan tetap mempertahankan x24 sebagai variabel dasar,
maka kita tetapkan x24 = 500 dan menyingkirkan x23 dari himpunan
variabel-variabel dasar dalam rangkaian tertutup. Pemecahan dasar yang
baru ini, yang juga turun derajat diberikan dalam tabel berikut:
1 2 3 4 Suplai ui
6 8 11 9
1 2500
1800 700
12 6 8 5
2 2100
1600 500
0 0 0 0
(Buatan ) 3 1800
550 1250
Permintaan 1800 2300 550 1750
vj
Tabel 1 D
Selanjutnya periksa lagi apakah pemecahan ini optimal dengan cara yang
sama seperti pada langkah sebelumnya yaitu dengan menghitung ui dan vj
yang baru terhadap variabel-variabel dasar baru, dan kemudian cij – ui –
vjbagi tiap-tiap sel variabel tak dasar. Sehingga didapatkan hasil seperti
berikut.
Dengan memilih secara sembarang u= 0, misal kita pilih u1 = 0, maka
didapatkan:
Sel (1,1) : u1 + v1 = c11, 0 +v1 = 6, atau v1= 6
Sel (1,2) : u1 + v2 = c12, 0 +v2 = 8, atau v2 = 8
Sel (2,2) : u2 + v2 = c22, u2+8 = 6, atau u2 = -2
Sel (2,4) : u2 + v4 = c24, -2+v4 = 5, atau v4= 7
Sel (3,3) : u3 + v3 = c33, -7+v3=0, atau v3 = 7
Sel (3,4) : u3 + v4 = c34, u3+7= 0, atau u3 = -7
Selanjutnya menghitung besaran-besaran cij – ui – vj untuk tiap-tiap sel
variabel tak dasar. Yaitu:
Sel (1,3) : c13 – u1 – v3 = 11 – 0 – 7 = 4
Sel (1,4) : c14 – u1 – v4 = 9 – 0 – 7 = 2
Sel (2,1) : c21 – u2 – v1 = 12 – (-2) – 6 = 8
Sel (2,3) : c23 – u2 – v3 = 8 – (-2) – 7 = 3
Sel (3,1) : c31 – u3 – v1 = 0 – (-7) – 6 = 1
Sel (3,2) : c32 – u3 – v2 = 0 – (-7) – 8 = -1
Hasil-hasil ini di catat dalam tabel baru sebagai berikut:
1 2 3 4 Suplai ui
6 8 11 9
1 2500 0
1800 700 (4) (2)
12 6 8 5
2 2100 -2
(8) 1600 (3) 500
0 0 0 0
(Buatan ) 3 1800 -7
(1) (-1) 550 1250
Permintaan 1800 2300 550 1750
vj 6 8 7 7
Tabel 1 E
Pada tabel di atas dapat diketahui bahwa sel (3,2) memiliki elemen negatif
terbesar, jadi pada sel tersebut kita letakkan sebuah tanda plus tebal (yang
menandakan satu kenaikan) dan membuat sebuah rangkaian tertutup
bergaris tebal yang berisi sel (3,2) dan sel-sel variabel dasar lainnya seperti
yang ditunjukkan pada tabel di atas. Kemudian naikkan alokasi pada sel
(3,2) sebanyak mungkin, dan pada saat yang sama menyesuaikan alokasi-
alokasi dari sel lain dari rangkaian tertutup ini agar tidak melanggar
kendala-kendala suplai, permintaan atau tak negatif. Alokasi positif yang
sembarang pada sel (3,2) akan memaksa x34 menjadi negatif. Untuk
mencegahnya, dengan tetap mempertahankan x32 sebagai variabel dasar,
maka kita tetapkan x32 = 1250 dan menyingkirkan x34 dari himpunan
variabel-variabel dasar dalam rangkaian tertutup. Pemecahan dasar yang
baru ini, yang juga turun derajat diberikan dalam tabel berikut:
1 2 3 4 Suplai ui
6 8 11 9
1 2500
1800 700
12 6 8 5
2 2100
350 1750
0 0 0 0
(Buatan ) 3 1800
1250 550
Permintaan 1800 2300 550 1750
vj
Tabel 1 F
Selanjutnya periksa lagi apakah pemecahan ini optimal dengan cara yang
sama seperti pada langkah sebelumnya yaitu dengan menghitung ui dan vj
yang baru terhadap variabel-variabel dasar baru, dan kemudian cij – ui –
vjbagi tiap-tiap sel variabel tak dasar. Sehingga didapatkan hasil seperti
berikut.
Dengan memilih secara sembarang u= 0, misal kita pilih u1 = 0, maka
didapatkan:
Sel (1,1) : u1 + v1 = c11, 0 +v1 = 6, atau v1= 6
Sel (1,2) : u1 + v2 = c12, 0 +v2 = 8, atau v2 = 8
Sel (2,2) : u2 + v2 = c22, u2+8 = 6, atau u2 = -2
Sel (2,4) : u2 + v4 = c24, -2+v4 = 5, atau v4= 7
Sel (3,2) : u3 + v2 = c32, u3+8= 0, atau u3 = -8
Sel (3,3) : u3 + v3 = c33, -8+v3=0, atau v3 = 8
Selanjutnya menghitung besaran-besaran cij – ui – vj untuk tiap-tiap sel
variabel tak dasar. Yaitu:
Sel (1,3) : c13 – u1 – v3 = 11 – 0 – 8 = 3
Sel (1,4) : c14 – u1 – v4 = 9 – 0 – 7 = 2
Sel (2,1) : c21 – u2 – v1 = 12 – (-2) – 6 = 8
Sel (2,3) : c23 – u2 – v3 = 8 – (-2) – 8 = 2
Sel (3,1) : c31 – u3 – v1 = 0 – (-8) – 6 = 1
Sel (3,4) : c34 – u3 – v4= 0 – (-8) – 7 = 1
Hasil-hasil ini di catat dalam tabel baru sebagai berikut:
1 2 3 4 Suplai ui
6 8 11 9
1 2500 0
1800 700 (3) (2)
12 6 8 5
2 2100 -2
(8) 350 (2) 1750
0 0 0 0
(Buatan ) 3 1800 -8
(2) 1250 550 (1)
Permintaan 1800 2300 550 1750
vj 6 8 8 7
Tabel 1 G
b. Metode Vogel
Cara awal yaitu menghitung selisih jumlah permintaan dan jumlah
penawaran yaitu selisihnya 1800. Setelah itu pada masing-masing baris
dan kolom dihitung dua bilangan terkecil dan memberi tanda ϯ pada selisih
terbesar. Dengan memperhatikan kolom tanda ϯ kita memilih cij terkecil
untuk menghitungnya terhadap permintaan dan penawaran setelah itu
mengeliminasi kolomnya. Hasil yang tampak terlihat seperti pada tabel
dibawah ini :
Jadi,
𝑥11 ∗ = 1800, 𝑥12 ∗ = 700, 𝑥22 ∗ = 350, 𝑥24 ∗ = 1750, 𝑥32 ∗ = 1250, 𝑥33 ∗ =
550
𝑧 ∗ = 6(1800) + 8(700) + 6(350) + 5(1750) + 0(1250) + 0(550)
= 27.250 𝑠𝑒𝑛
LAMPIRAN