TEKNIK INFERENSI


Defenisi Inferensi:  Proses yang digunakan dalam Sistem Pakar untuk menghasilkan informasi baru dari informasi yang telah diketahui .

Dalam sistem pakar, proses inferensi dilakukan dalam suatu modul yang disebut Inference Engine (Mesin inferensi) .  Ketika representasi pengetahuan  (RP) pada bagian  knowledge base telah lengkap, atau paling tidak telah berada pada level yang cukup akurat, maka RP tersebut telah siap digunakan. Inference engine merupakan modul yang berisi program tentang bagaimana mengendalikan proses reasoning.


REASONING 

Definisi : Proses bekerja dengan pengetahuan, fakta dan strategi pemecahan masalah, untuk mengambil suatu kesimpulan.
(Berpikir dan mengambil kesimpulan).
Inferencing dengan Rules : FORWARD dan BACKWARD CHAINING 

Deductive Reasoning

􀁠 Kita menggunakan reasoning deduktif untuk mendeduksi
informasi baru dari hubungan logika pada informasi yang
telah diketahui.
􀁠 Contoh:
􀁠  TEKNIK  INFERENSI


Defenisi Inferensi:  Proses yang digunakan dalam Sistem Pakar untuk menghasilkan informasi baru dari informasi yang telah diketahui .

Dalam sistem pakar, proses inferensi dilakukan dalam suatu modul yang disebut Inference Engine (Mesin inferensi) .  Ketika representasi pengetahuan  (RP) pada bagian  knowledge base telah lengkap, atau paling tidak telah berada pada level yang cukup akurat, maka RP tersebut telah siap digunakan. Inference engine merupakan modul yang berisi program tentang bagaimana mengendalikan proses reasoning.


REASONING 
Definisi : Proses bekerja dengan pengetahuan, fakta dan strategi pemecahan masalah, untuk mengambil suatu kesimpulan.
(Berpikir dan mengambil kesimpulan).
Inferencing dengan Rules : FORWARD dan BACKWARD CHAINING 

Deductive Reasoning
􀁠 Kita menggunakan reasoning deduktif untuk mendeduksi
informasi baru dari hubungan logika pada informasi yang
telah diketahui.
􀁠 Contoh:
􀁠 Implikasi : Saya akan basah kuyup jika berdiri ditengahtengah
hujan deras
􀁠 Aksioma : Saya berdiri ditengah-tengah hujan deras
􀁠 Konklusi : Saya akan basah kuyup
IF A is True AND IF A IMPLIES B is True, Then B is True

BACKWARD CHAINING 
Pendekatan goal-driven, dimulai dari ekspektasi apa yang diinginkan terjadi (hipotesis), kemudian mengecek pada sebab-sebab yang mendukung (ataupun kontradiktif) dari ekspektasi tersebut.
Jika suatu aplikasi menghasilkan tree yang sempit dan cukup dalam, maka gunakan backward chaining.   Beberapa sifat dari backward chaining:
Good for Diagnosis.
Looks from present to past.
Works from consequent to antecedent.
Is goal-driven, top-down reasoning.
Works backward to find facts that support the hypothesis.
Pada komputer, program dimulai dengan tujuan (goal) yang diverifikasi apakah bernilai TRUE atau FALSE 

o  Kemudian melihat pada suatu rule yang mempunyai GOAL tersebut pada bagian konklusinya.
 
o  Mengecek pada premis dari rule tersebut untuk menguji apakah rule tersebut terpenuhi (bernilai TRUE)
 
o  Pertama dicek apakah ada assertion-nya  

Jika pencarian disitu gagal, maka ES akan mencari rule lain yang memiliki konklusi yang sama dengan rule pertama tadi.
Tujuannya adalah membuat rule kedua terpenuhi (satisfy).

Proses tersebut berlajut sampai semua kemungkinan yang ada telah diperiksa atau sampai rule inisial yang diperiksa (dg GOAL) telah terpenuhi 

o  Jika GOAL terbukti FALSE, maka GOAL berikut yang dicoba.
 

 
FORWARD CHAINING 

Forward chaining merupakan grup dari multipel inferensi yang melakukan  pencarian dari suatu masalah kepada solusinya.
 
·  Jika klausa premis sesuai dengan situasi (bernilai TRUE), maka proses akan meng-assert konklusi 
·  Forward Chaining adalah data driven karena inferensi dimulai dengan informasi yg tersedia dan baru konklusi diperoleh .

•  Beberapa Sifat forward chaining: 
–  Good for monitoring, planning, and control
 
–  Looks from present to future.
 
–  Works from antecedent to consequent.
 
–  Is data-driven, bottom-up reasoning.
 
–  Works forward to find what solutions follow from the facts.
 
–  It facilitates a breadth-first search.
 
–  The antecedents determine the search.
 
–  It does not facilitate explanation. 

Jika suatu aplikasi menghasilkan tree yang lebar dan tidak dalam, maka gunakan

 forward chaining. : Saya akan basah kuyup jika berdiri ditengah-tengah hujan deras

􀁠 Aksioma : Saya berdiri ditengah-tengah hujan deras
􀁠 Konklusi : Saya akan basah kuyup
IF A is True AND IF A IMPLIES B is True, Then B is True

BACKWARD CHAINING 

Pendekatan goal-driven, dimulai dari ekspektasi apa yang diinginkan terjadi (hipotesis), kemudian mengecek pada sebab-sebab yang mendukung (ataupun kontradiktif) dari ekspektasi tersebut.
Jika suatu aplikasi menghasilkan tree yang sempit dan cukup dalam, maka gunakan backward chaining.   Beberapa sifat dari backward chaining:
Good for Diagnosis.
Looks from present to past.
Works from consequent to antecedent.
Is goal-driven, top-down reasoning.
Works backward to find facts that support the hypothesis.

Pada komputer, program dimulai dengan tujuan (goal) yang diverifikasi apakah bernilai TRUE atau FALSE 
o  Kemudian melihat pada suatu rule yang mempunyai GOAL tersebut pada bagian konklusinya.
 
o  Mengecek pada premis dari rule tersebut untuk menguji apakah rule tersebut terpenuhi (bernilai TRUE)
 
o  Pertama dicek apakah ada assertion-nya  
Jika pencarian disitu gagal, maka ES akan mencari rule lain yang memiliki konklusi yang sama dengan rule pertama tadi.

Tujuannya adalah membuat rule kedua terpenuhi (satisfy).
Proses tersebut berlajut sampai semua kemungkinan yang ada telah diperiksa atau sampai rule inisial yang diperiksa (dg GOAL) telah terpenuhi 
o  Jika GOAL terbukti FALSE, maka GOAL berikut yang dicoba.
 

 
FORWARD CHAINING 

Forward chaining merupakan grup dari multipel inferensi yang melakukan  pencarian dari suatu masalah kepada solusinya.
 
·  Jika klausa premis sesuai dengan situasi (bernilai TRUE), maka proses akan meng-assert konklusi 
·  Forward Chaining adalah data driven karena inferensi dimulai dengan informasi yg tersedia dan baru konklusi diperoleh .

•  Beberapa Sifat forward chaining: 
–  Good for monitoring, planning, and control
 
–  Looks from present to future.
 
–  Works from antecedent to consequent.
 
–  Is data-driven, bottom-up reasoning.
 
–  Works forward to find what solutions follow from the facts.
 
–  It facilitates a breadth-first search.
 
–  The antecedents determine the search.
 
–  It does not facilitate explanation. 

Jika suatu aplikasi menghasilkan tree yang lebar dan tidak dalam, maka gunakan forward chaining.

Teori Rule - Based Systems

Berdasarkan aturan sistem itu sendiri menggunakan teknik sederhana: Ini dimulai dengan
dasar-aturan, yang  berisi semua pengetahuan yang sesuai dikodekan ke dalam Jika-Maka
aturan, dan memori kerja, yang mungkin atau tidak mungkin awalnya berisi data, pernyataan atau awalnya dikenal informasi.
Sistem ini memeriksa semua kondisi aturan (IF) dan menentukan subset, set konflik, aturan yang
kondisinya puas didasarkan pada memori kerja. Dari set konflik, salah satu dari aturan-aturan
dipicu (dipecat). Dimana yang dipilih didasarkan pada strategi resolusi konflik. Saat aturan dipecat, setiap
tindakan yang ditentukan dalam ayat KEMUDIAN yang dilakukan. Tindakan ini bisa memodifikasi memori kerja, aturan-dasar sendiri, atau melakukan hal-hal lain programmer sistem memutuskan untuk memasukkan. Ini loop dari menembak aturan dan melakukan tindakan berlanjut sampai salah satu dari dua kondisi terpenuhi: tidak ada aturan yang lebih dengan kondisi "puas" atau sebuah aturan yang dipecat dalam tindakan menentukan program harus diakhiri.

Rule based systems merupakan  cara untuk menyimpan dan memanipulasi pengetahuan
untuk menginterpretasikan informasi dalam cara yang bermanfaat bagi penggunanya. rule based
system sering digunakan dalam pembuatan applikasi kecerdasan buatan dan penelitian , rule
based sendiri memiliki kelebihan dan keterbatasan yang harus dipertimbangkan dalam
memutuskan apakah itu teknik yang tepat digunakan untuk suatu masalah. Secara keseluruhan,
berdasarkan aturan sistem benar-benar hanya layak untuk suatu masalah. setiap semua
pengetahuan dibidangnya dapat ditulis dalam bentuk jika-maka, dimana setiap aturan dibidang
masalahnya tidak terlalu besar.

Sebuah  Rule - Based Systems yang khas memiliki empat komponen dasar: 

•    Daftar aturan atau basis aturan, yang merupakan jenis spesifik dari basis pengetahuan
.
•    Sebuah mesin infrensi atau semantik reasoner , yang menyimpulkan informasi atau
mengambil tindakan berdasarkan pada interaksi input dan basis aturan. Penerjemah
mengeksekusi program sistem produksi dengan melakukan siklus menyelesaikan pertandingan-
tindakan

•             Pertandingan: Dalam fase pertama, sisi kiri dari semua produksi yang cocok dengan
isi dari memori kerja. Akibatnya konflik set diperoleh, yang terdiri dari instantiations dari semua,
produksi puas. Sebuah Instansiasi produksi adalah ordered list elemen memori kerja yang
memenuhi sisi kiri produksi.

•             Konflik-Resolusi: Pada fase kedua, salah satu instantiations produksi di set konflik
dipilih untuk eksekusi. Jika tidak ada produksi puas, maka menghentikan penerjemah.

•             Undang-Undang: Pada fase ketiga, tindakan produksi yang dipilih dalam tahap
resolusi konflik dijalankan. Tindakan ini dapat mengubah isi dari memori kerja. Pada akhir fase
ini, eksekusi kembali ke tahap pertama.

•             Sementara memori kerja .

•             Sebuah user interface atau koneksi lainnya ke dunia luar melalui mana input dan
output sinyal yang diterima dan dikirim.
  
Menciptakan Rule - Based Systems untuk masalah tertentu ( atau membuat ) :

1.            Satu set fakta untuk mewakili memori kerja awal. Ini harus sesuatu yang relevan
dengan keadaan awal sistem.
2.            Satu set aturan. Ini harus mencakup setiap dan semua tindakan yang harus diambil
dalam ruang lingkup masalah, tapi tidak relevan. Jumlah aturan dalam sistem dapat
mempengaruhi kinerja, sehingga Anda tidak ingin apapun yang tidak diperlukan.
3.            Sebuah kondisi yang menentukan bahwa solusi telah ditemukan atau tidak ada yang
ada. Hal ini diperlukan untuk mengakhiri beberapa aturan berbasis sistem yang menemukan diri
mereka dalam loop tak terbatas sebaliknya.

PROJECT MANAGER

Konsep Manajemen Proyek Perangkat Lunak

Konsep Manajemen Proyek Perangkat Lunak menyangkut teknik yang dipakai untuk menghitung biaya dan kebutuhan sumber daya serta membangun rencana proyek yang efektif.

SPEKTRUM MANAJEMEN
Manajemen proyek perangkat lunak yang efektif berfokus pada tiga P yaitu people (manusia), problem (masalah), dan process (proses). Urutannya tidak dapat berubah.

Manusia
Faktor manusia sangat penting karena Software Engineering Institute telah mengembangkan sebuah model kematangan kemampuan manajemen manusia (PM-CMM) “untuk mempertinggi kesiapan organisasi perangkat lunak untuk mengerjakan aplikasi yang semakin kompleks dengan membantu menarik, menumbuhkan, memotivasi, menyebarkan, dan memelihara bakat yang dibutuhkan untuk mengembangkan kemampuan perkembangan perangkat lunak mereka”[CUR94].

Model kematangan manajemen manusia membatasi area praktik berikut kunci bagi masyarakat perangkat lunak : rekruitmen, seleksi, manajemen unjuk kerja, pelatihan, kompensasi, perkembangan karir, desain kerja dan organisasi, serta perkembangan tim/kultur. Organisasi yang mencapai tingkat kematangan yang tinggi didalam area manajemen manusia memiliki kemiripan yang lebih tinggi dari implementasi praktik rekayasa perangkat lunak yang efektif.

Dari wakil presiden teknik senior sampai pelaksana yang paling rendah dengan penuh kepastian mempertimbangkan faktor manusia. Para manajer berpendapat bahwa manusia merupakan hal yang utama tetapi tindakan mereka kadang-kadang tidak sesuai dengan perkataan mereka.

Masalah

Pada awal proyek perangkat lunak diperlukan perkiraan kuantitatif dan rencana organisasi tetapi informasi yang solid tidak dapat diperoleh. Analisis yang mendetail tentang kebutuhan perangkat lunak akan memberikan informasi yang memadai untuk suatu perhitungan yang mungkin dapat memakan waktu berminggu-minggu atau bahkan berbulan-bulan.
Beberapa aspek penting antara lain ruang lingkup dan dekomposisi masalah.

- Ruang Lingkup
Ruang lingkup proyek perangkat lunak harus tidak ambigu dan dapat dipahami pada tingkat teknik maupun menajemen. Batasan-batasan dari ruang lingkup :
 Konteks. Bagaimana perangkat lunak yang akan dibangun dapat memenuhi sebuah sistem, produk, atau konteks bisnis yang lebih besar, serta batasan apa yang ditentukan sebagai hasil dari konteks tersebut?
Tujuan Informasi. Objek data pelanggan apa yang dihasilkan sebagai output dari perangkat lunak? Objek data apa yang diperlukan sebagai input?
Fungsi dan Unjuk Kerja. Fungsi apa yang dilakukan oleh perangkat lunak untuk mentranformasikan input data menjadi output? Adakah ciri kerja khusus yang akan ditekankan?

- Dekomposisi Masalah
Dekomposisi masalah (partitioning) merupakan sebuah aktivitas yang berkedudukan inti dari analisis kebutuhan perangkat lunak. Dekomposisi diterapkan pada dua area utama yaitu fungsionalitas yang harus disampaikan dan proses yang akan dipakai untuk menyampaikannya.
Dekomposisi Fungsional adalah identifikasi fungsional dari software, kemampuan yang diinginkan oleh pelanggan dan menentukan method/ feature untuk memenuhi fungsional



Proses
Inti masalah disini adalah bagaimana memilih model proses yang sesuai bagi perangkat lunak yang akan direkayasa oleh sebuah tim proyek. Beberapa macam-macam model proses antara lain :

- Model sekuensial linier
- Model prototype
- Model RAD
- Model incremental
- Model spiral
- Model asembli komponen
- Model pengembangan kongkuren
- Model metode formal
- Model teknik generasi keempat

Beberapa aspek dalam proses antara lain :

- Menggabungkan Masalah dan Proses
Perencanaan proyek dimulai dengan menggabungkan masalah dan proses. Setiap fungsi akan direkayasa oleh tim perangkat lunak harus melampaui sejumlah aktivitas kerangka kerja yang sudah ditentukan.

Sekumpulan aktifitas yang dilakukan untuk membuat perangkat lunak :

- Komunikasi pelanggan, untuk membangun komunikasi yang efektif diantara pengembang dan pelanggan.

- Perencanaan, untuk menentukan sumber-sumber daya, ketepatan waktu, dan informasi proyek lain.

- Analisa risiko, untuk memperkirakan risiko-risiko manajemen dan teknis.

- Rekayasa, untuk membangun satu perwakilan aplikasi atau lebih.

- Konstruksi dan rilis, untuk membangun, menguji, memasang, dan memberikan dukungan kepada pemakai(dokumentasi).

- Evaluasi pelanggan, untuk memperoleh umpan balik pelanggan dan hasil evaluasi.

- Dekomposisi Proses

Inti dari dekomposisi proses antara lain:

a.      Memilih proses model, jadi tim perangkat lunak harus memiliki tingkat fleksibilitas yang signifikan dalam memilih model proses yang paling tepat untuk karakteristik proyek yang akan dikerjakan. Sebagai contoh : untuk proyek yang besar dan terus dikembangkan melalui versi-versi misalnya sangat cocok pada model proses MSF.

b.     Mendefinisikan perencanaan proyek berdasarkan proses model yang dipilih.


c.      Mengontrol aktivitas beradasarkan proses model – Common process framework (CPF) adalah invarian dan berfungsi sebagai dasar bagi semua kerja perangkat lunak yang dilakukan oleh organisasi perangkat lunak.



Peran dari seorang Project Manager

Seorang project manager mempunyai tanggung jawab dan tugas yang bermacam-macam, tidak hanya terfokus pada hal-hal yg teknis sifatnya.
Bagaimana layaknya seorang project manager harus mempunyai kemampuan membuat tim proyek agar tetap solid, mampu memonitor dan mengontrol budget dengan membuat bar chart & critical path serta mempunyai kemampuan analisis resiko yang baik.

Tanggung Jawab seorang Project Manager

Tanggung Jawab seorang Project Manager terdiri dari 4 (empat) cakupan antara lain :
1.       Proyek
2.       Organisasi
3.       Tim Kerja
4.       Project Manager itu sendiri :
( terdiri dari )
        melaksanakan pekerjaan proyek sesuai schedule
        Budgeting
        rekruitment
        Supervisi
        Planning schedulling
        Inventory controle
        QC/QA
        cost control

Setiap tanggung jawab mempunyai fokus dan peran yang sedikit berbeda. Salah satu yang paling nyata adalah, tanggung jawab terhadap proyek, Seorang Project Manager harus mengontrol proyek yang ditanganinya. Proyek harus selesai sesuai dengan budget, sesuai dengan spesifikasi, dan waktu. Ke tiga aspek itu harus dipenuhi oleh seorang Project Manager.

Seorang Project Manager juga mempunyai tanggung jawab terhadap organisasi. Proyek yang ditangani harus mempunyai return yang nyata terhadap organisasi. Taat kepada setiap kebijakan yang di keluarkan organisasi, harus mengambil keputusan dengan wewenang yang terbatas dari organisasi, dan juga kadang-kadang seorang Project Manager juga harus mengambil keputusan yang bukan yang terbaik bagi poyek tetapi terbaik buat Organisasi.
Seorang Project Manager juga harus mempunyai tanggung jawab tehadap tim kerja yang di pimpinnya. Memang tidak mudah tanggung jawab yang harus di penuhi terhadap tim kerja. Seorang Project Manager harus memberikan feedbackdari hasil pekerjaan proyek jika diperlukan, memberikan perhargaan terhadap anggota tim proyek yang mempunyai prestasi yang baik, dan tantangan yang paling sulit adalah menyeimbangkan antara kepentingan anggota tim, kepentingan tim, dan kepentingan proyek.

Tanggung jawab Project Manager yang terakhir adalah tanggung jawab terhadap dirinya sendiri. Tanggung jawab ini tidak pernah di diskusikan di setiap buku project management, tapi ini penting, khususnya jika kamu sudah memilih project manager sebagai profesi yang ditekuni. 



Konsep Dasar Sistem Pakar

Definisi
Sistem pakar adalah suatu program komputer yang dirancang untuk mengambil keputusan seperti keputusan yang diambil oleh seorang atau beberapa orang pakar. Menurut Marimin (1992), sistem pakar adalah sistem perangkat lunak komputer yang menggunakan ilmu, fakta, dan teknik berpikir dalam pengambilan keputusan untuk menyelesaikan masalah-masalah yang biasanya hanya dapat diselesaikan oleh tenaga ahli dalam bidang yang bersangkutan.
Dalam penyusunannya, sistem pakar mengkombinasikan kaidah-kaidah penarikan kesimpulan (inference rules) dengan basis pengetahuan tertentu yang diberikan oleh satu atau lebih pakar dalam bidang tertentu. Kombinasi dari kedua hal tersebut disimpan dalam komputer, yang selanjutnya digunakan dalam proses pengambilan keputusan untuk penyelesaian masalah tertentu.
Pengertian Sistem Pakar (Expert Sistem)

  •  Membuat S/W Expert Systems à program Sebagai penasehat/konsultan pakar


  •  Dapat mengumpulkan dan penyimpan pengetahuan seorang/beberapa orang pakar ke dalam kompputer à u/ semua orang yangcmemerlukan


  •  Tidak u/ menggantikan kedudukan seorang pakar ttp u/ memasyarakatkan pengetahuan & pengalamaan pakar tsb.


  • Memungkinkan orang lain meningkatkan produktivitas, memperbaiki kualitas keputusan dll.




·         Knowledge base berisi semua fakta, ide, hubungan

·         Motor inferensi bertugas u/ menganalisis pengetahuan dan menarik kesimpulan berdasarkan knowledge base.

·         S/W user interface berfungsi sbg media pemasukan pengetahuan ke dalam (KB)





Sedangkan konsep dasar dalam sistem pakar menurut Turban, 1993 adalah:
1. Keahlian (Expertise)
2. Pakar (Expert)
3. Transfer keahlian
4. Inferensi
5. Rule
6. Kemampuan memberikan penjelasan


Contoh Penggunaan Sistem Pakar

PENGEMBANGAN TEKNOLOGI SISTEM PAKAR

• Akar Sistem Pakar pada banyak disiplin ilmu “cognitive science” yaitu study bagaimana orang memikirkan dlm pemecahan masalah. “cognitive processor” yaitu menemukan aturan yg akan diaktifkan.

Sistem Pakar yang terkenal

1. MYCIN
- Dirancang oleh Edward Feigenbaum (Universitas Stanford) th ’70 an
- Sistem Pakar medical yg dpt mendiagnosa infeksi bakteri & rekomendasi pengobatan antibiotik

2. DENDRAL
- Sistem Pakar struktur molekular & kimia

3. PROSPECTOR
- Membantu ahli geologi yg mencari & menemukan biji deposit (mineral& batubatuan)
- Didesign oleh Sheffield Research Institute,cakhir ‘70an

4. XCON (R1)
- Sistem Pakar konfigurasi sistem komputer dasar
- Dikembangkan oleh Digital Equipment Corporation (DEC) dan Carnegie Mellon Universitas (CMU), akhir ’70 an
- Untuk sistem komputer DEC VAC 11 1780

5. DELTA
- Didesign & dikembangkan oleh General Electric Company
- Sistem Pakar personal maintenance dg mesin lokomotif listrik diesel.

6. YESMVS
- Didesign oleh IBM awal th ‘80an
- Membantu operator komputer & mengontrol sistem operasi MVS (multiple virtual storage)

7. ACE
- Didesign & dikembangkan oleh AT&T Bell Lab awal th ‘80an
- Sistem Pakar troubleshooting pd sistem kabel telpon

Heuristic Search

Teknik pencarian heuristik (heuristic searching) merupakan suatu strategi untuk melakukan proses pencarian ruang keadaan (state space) suatu problema secara selektif, yang memandu proses pencarian yang kita lakukan di sepanjang jalur yang memiliki kemungkinan sukses paling besar, dan mengesampingkan usaha yang 
bodoh dan memboroskan waktu.

• Heuristik adalah sebuah teknik yang mengembangkan efisiensi dalam proses pencarian, namum dengan 

kemungkinan mengorbankan kelengkapan (completeness).
• Untuk dapat menerapkan heuristik tersebut dengan baik dalam suatu domain tertentu, diperlukan suatu 
Fungsi Heuristik.

• Fungsi heuristik ini digunakan untuk mengevaluasi keadaan-keadaan problema individual dan menentukan 
seberapa jauh hal tersebut dapat digunakan untuk mendapatkan solusi yang diinginkan.

Jenis-jenis Heuristic Searching:

♦ Generate and Test.
♦ Hill Climbing.
♦ Best First Search.
♦ Alpha Beta Prunning.
♦ Means-End-Anlysis.
♦ Constraint Satisfaction

Mengambil Contoh Hill Climbing

Seorang Turis ingin mengunjungi n kota. Jarak antara tiap-tiap kota sudah diketahui. Kita ingin mengetahui rute terpendek dimana setiap kota hanya boleh dikunjungi tepat 1 kali. Misal ada 4 kota dengan jarak antara tiap-tiap kota seperti berikut ini :





Solusi – solusi yang mungkin
dengan menyusun kota-kota dalam urutan abjad, misal : A – B – C – D : dengan panjang lintasan (=19)
A – B – D – C : (=18)
A – C – B – D : (=12)
A – C – D – B : (=13)
dst