Saturday, November 18, 2017

Sistem Pakar: Sebuah Pembahasan Singkat

Pada post kali ini, penulis akan membahas tentang sistem pakar (expert system), yang dimana pembahasannya meliputi sejarah singkat dan tujuan dari pembuatan sistem

A. Sejarah Singkat Sistem Pakar

Komputer Symbolics 3640 yang menjadi salah satu platform pengembangan sistem pakar pada masa dahulu kala | Original Author: Michael L. Umbricht and Carl R. Friend (displayed on https://en.wikipedia.org/wiki/Expert_system)
Sistem pakar secara umum dapat dipahami sebagai sebuah sistem yang dibuat untuk dapat mengemulasikan kemampuan pengambilan keputusan dari seorang pakar dalam suatu bidang (terutama ilmu pengetahuan) ke dalam sebuah komputer. Perkembangannya sendiri dimulai sejak era 1970an, dimana pengembangan tahap lebih lanjut dilakukan sejak 1980an. Awalnya sistem pakar dibuat pertama kali oleh Edward Feigenbaum bersama dengan rekan-rekannya yang tergabung dalam Stanford Heuristic Programming Project dalam rangka mengidentifikasi bidang ilmu yang menjunjung tinggi keberadaan pakar yang memiliki keahlian di bidang ilmu tersebut. Meskipun sistem yang dibuat oleh Feigenbaum dan timnya menggunakan prinsip berupa penggunaan kemampuan yang didasarkan pada pengetahuan yang dimiliki dibandingkan dengan mekanisme yang ada pada sistem konvensional, namun sistem tersebut menciptakan sebuah batu loncatan dalam pengembangan sistem pakar di tahun-tahun berikutnya. Adapun sistem pakar sendiri merupakan salah satu bentuk nyata dari perwujudan paling awal untuk konsep kecerdasan buatan (artificial intelligence, AI) pada era tersebut.

Pada saat yang bersamaan, pengembangan sistem pakar juga dilakukan di Perancis. Namun berbeda dengan sistem buatan ilmuwan Amerika yang mengandalkan sistem berbasis aturan (rule-based system) dan menggunakan bahasa pemrograman Lisp sebagai dasar dari pengembangannya, sistem yang dikembangkan di Perancis menggunakan Prolog (dikembangkan pertama kali oleh Alain Colmerauer dan Philippe Roussel pada tahun 1972). Jika keduanya dibandingkan, sistem yang dikembangkan oleh ilmuwan di Perancis memiliki tingkat kesempurnaan yang lebih tinggi dibandingkan konsep sistem pakar yang dikembangkan oleh ilmuwan Amerika. Hal ini dikarenakan prinsip bahasa yang dimiliki oleh Prolog tidak semata berfokus kepada prinsip "if - then" saja, melainkan kepada berbagai pertimbangan-pertimbangan maupun kondisi lainnya. Maka secara umum dapat dikatakan bahwa sistem pakar yang menggunakan Prolog memberikan perwujudan dari logika predikat tingkat pertama (First-order Logic) yang digunakan dalam dunia matematika maupun dunia komputer secara lebih sempurna untuk menyelesaikan masalah-masalah yang membutuhkan keberadaan pakar dari bidang yang bersesuaian dengan masalah tersebut.

Pada era 1980an, kemunculan dari konsep sistem pakar memicu berbagai universitas untuk menawarkan pendidikan yang berkaitan dengan pengembangan sistem pakar kepada mahasiswanya. Bahkan pada saat itu pula perusahaan-perusahaan ikut menerapkan teknologi komputer (termasuk pula sistem pakar) di dalam pola kerja sehari-harinya. Namun pada saat yang sama IBM PC yang dilengkapi dengan sistem operasi IBM PC DOS diperkenalkan pada tahun 1981, yang dimana kemampuan pemrosesannya yang relatif setara dengan mainframe pada saat itu (meskipun ukuran dari chip yang dipergunakan jauh lebih kecil dibandingkan yang ada di mainframe) membuat perkembangan sistem pakar menjadi sangat berubah. Kemunculan dari arsitektur client-server yang bersamaan dengan diperkenalkannya IBM PC membuat perusahaan pengembang sistem pakar memilih untuk mengubah orientasi pengembangan produknya dari yang semula ditujukan untuk lingkungan sistem mainframe berbasis Lisp ke sistem yang berbasis PC. Meskipun begitu, pada tahun 1982 sebuah program sistem pakar berbasis Lisp yang bernama SID (Synthesis of Integral Design) berhasil dikembangkan, dimana ujicobanya dilakukan pada komputer VAX 9000 buatan Digital Equipment Corporation (DEC). Sayangnya, kesuksesan itu tidak bertahan lama karena program tersebut dihentikan pasca selesainya proyek ujicoba sistem tersebut sebagai akibat dari rumitnya struktur program SID. Bahkan istilah sistem pakar (bersama dengan konsep AI yang dapat berdiri sendiri) kemudian tidak lagi dipergunakan di dalam kamus bahasa dunia IT sejak era 1990an dikarenakan pengembang sistem pakar kemudian memilih untuk mengubah konsep pengembangan sistem pakar menjadi pengembangan komponen berbasis pengetahuan untuk program-program standar, seiring dengan semakin pesatnya perkembangan komputer kelas PC dan juga komputer server yang dapat dijangkau oleh perusahaan dengan harga yang lebih murah ketimbang komputer mainframe pada saat itu.

B. Tujuan, Cara Merancang dan Basis Dasar Sistem Pakar

Struktur dasar dari sistem pakar | Original: pubs.cs.uct.ac.za
Sebuah sistem pakar dibuat dengan tujuan yaitu untuk membantu pengalihan sebuah keahlian atau ilmu pengetahuan dari seorang pakar yang menguasai bidang keahlian atau ilmu tersebut ke mereka yang bukan ahlinya. Hal ini dalam rangka untuk menjaga agar keahlian atau ilmu yang disimpan di dalam sistem tersebut dapat terjaga dan terus dapat diturunkan dari generasi ke generasi. Definisi dari pakar sendiri yaitu seseorang yang mampu memberikan penjelasan tentang berbagai hal yang berkaitan dengan suatu masalah maupun mempelajari hal-hal baru seputar topik masalah tersebut, serta menyusun sebuah pengetahuan yang baru (jika kondisinya diperlukan untuk menyelesaikan masalah). Adapun suatu pengetahuan yang disimpan di dalam sistem pakar disebut sebagai basis pengetahuan, dimana basis pengetahuan tersebut terdiri dari fakta dan aturan. Dalam merancang sebuah sistem pakar, tahapan-tahapan yang harus dilalui adalah sebagai berikut:
  1. Mengidentifikasi masalah dan kebutuhan
  2. Menentukan problema yang cocok
  3. Menentukan alternatif pilihan sistem
  4. Menghitung pengembalian biaya investasi pembuatan sistem pakar
  5. Memilih alat untuk pengembangan sistem pakar
  6. Merekayasa pengetahuan
  7. Merancang dasar dari sistem
  8. Melengkapi pengembangan sistem
  9. Menguji, mencari dan memperbaiki kesalahan pada sistem
  10. Memelihara sistem secara keseluruhan
Berbagai tahapan di atas sangat menentukan kesuksesan dari sistem pakar yang dibuat, karena apabila salah satu tahap terlewatkan maka sistem pakar tersebut tidak akan dapat bekerja dengan baik. Bahkan apabila tahap paling awal yaitu mengidentifikasi masalah dan kebutuhan tidak dilalui dengan baik (misalkan masalah yang telah dikaji ternyata tidak cocok untuk diselesaikan dengan bantuan sistem pakar), sebuah sistem pakar tidak dapat dibuat sama sekali. Oleh karenanya dalam proses merancang sistem pakar kesepuluh tahapan tersebut harus dilalui agar sistem pakar yang dirancang dapat bekerja secara maksimal. Terutama ketika menghitung pengembalian biaya investasi pembuatan sistem pakar hingga ke merekayasa pengetahuan, dibutuhkan ketelitian dan kehati-hatian yang sangat tinggi saat melakukan eksekusi dari tahap-tahap tersebut. Hal ini demi mewujudkan sebuah sistem pakar yang berfungsi secara maksimal dan juga bermanfaat bagi penggunanya, tanpa menghasilkan masalah baru di belakang hari.

Sebuah sistem pakar pada dasarnya memiliki dua jenis basis pengetahuan, yaitu:
  1. Penalaran berbasis aturan - di sini sistem dibuat untuk melakukan penalaran terhadap suatu hal dengan berdasarkan aturan yang telah dibuat. Aturannya sendiri berbentuk If - Then, yang dimana ketika dijalankan sistem akan terlebih dahulu memeriksa apakah fakta yang ada sudah sesuai dengan aturan tersebut atau tidak. Jika sesuai, maka sistem akan menampilkan hasil yang menyatakan bahwa fakta yang dimasukkan adalah benar. Namun jika tidak sesuai, sistem akan menampilkan hasil berupa pesan bahwa faktat tersebut salah. Adapun basis pengetahuan jenis ini dibuat jika terdapat beberapa pengetahuan pakar yang dijadikan acuan dalam penyelesaian suatu masalah, dan juga apabila dibutuhkan langkah-langkah yang berkaitan dengan penjelasan tentang pencapaian solusi terhadap masalah yang diselesaikan dengan sistem pakar tersebut.
  2. Penalaran berbasis kasus - untuk jenis ini solusi yang diisikan ke dalam basis pengetahuan dari sistem pakar adalah semua solusi yang telah dicapai sebelumnya untuk kemudian diturunkan menjadi sebuah solusi baru yang relevan dengan fakta yang sedang dikonsultasikan ke sistem pakar tersebut. Biasanya basis pengetahuan yang didasarkan pada penalaran berbasis kasus dibutuhkan ketika pengguna menginginkan adanya perbandingan antara fakta yang sedang dikonsultasikan dengan fakta-fakta lain yang memiliki kemiripan dengan fakta tersebut. Selain itu, bentuk ini juga dipergunakan jika sudah ada contoh situasi atau fakta tertentu yang telah dimasukkan di dalam basis pengetahuan tersebut.
Maka dapat dikatakan bahwa pola kerja dari sebuah sistem pakar dalam menyelesaikan masalah yang dikonsultasikan ke sistem tersebut bergantung dari jenis basis pengetahuan yang dipergunakan dalam menyusun sistem pakar tersebut. Tentunya basis pengetahuan sendiri berisi pengetahuan-pengetahuan yang dibutuhkan dalam menyelesaikan sebuah masalah, dan apa yang dimasukkan ke dalam basis pengetahuan tersebut menentukan bagaimana hasil dari proses penyelesaian masalah yang sedang dikonsultasikan ke sistem pakar tersebut.

C. Contoh Penerapan Sistem Pakar

Tampilan SWI-Prolog
Salah satu contoh paling sederhana dari program sistem pakar yang dapat ditemui dan dipergunakan oleh pengguna awam secara gratis yaitu program SWI-Prolog (SWI merupakan akronim dari Sociaal-Wetenschappelijke Informatica atau bahasa Inggrisnya yaitu Social Science Informatics). Program ini dirancang dan dibuat dengan menggunakan bahasa pemrograman Prolog yang telah teruji sebagai salah satu bahasa pemrograman yang mudah dipergunakan dalam membangun sebuah sistem kecerdasan buatan (Artificial Intelligence / AI). Secara umum pola kerja dari SWI-Prolog mengikuti teknik dasar dari Prolog itu sendiri, dimana program sistem pakar yang dirancang dengan menggunakan SWI-Prolog akan dieksekusi dengan cara menjalankan query di atas hubungan-hubungan fakta dan aturan yang telah didefinisikan di dalam program tersebut. Adapun SWI-Prolog sendiri juga dapat dipergunakan untuk membangun sebuah aplikasi berbasis web yang menggunakan web framework berbasis definition clause grammar. Ini memungkinkan seorang pengembang sistem pakar untuk dapat membangun sebuah sistem pakar yang berbasis online dan juga dapat diakses oleh siapapun, dimana saja dan kapan saja.

Selain itu sistem pakar juga semakin banyak dipergunakan pada tingkat yang lebih luas. Salah satunya yaitu pada perpustakaan, dimana sejak tahun 2004 akhir mulai banyak perpustakaan yang menggunakan sistem pakar untuk membantu pengunjung perpustakaan dalam mencari buku yang ingin dibaca tanpa harus menyebutkan judulnya secara lengkap, yang dimana sistem akan mencari judul buku yang memiliki kata-kata yang cocok dengan input pencarian yang diberikan oleh pengunjung perpustakaan. Penggunaan sistem pakar untuk perpustakaan sendiri tidak hanya ditemukan di Indonesia saja, namun penggunaan sistem pakar untuk perpustakaan juga marak di berbagai perpustakaan yang ada di seantero dunia. Hal ini disebabkan oleh prinsip logika yang dimiliki oleh sistem pakar yang memungkinkan adanya pemberian output berupa suatu solusi meskipun data yang dimasukkan sebagai input untuk proses pencarian solusinya sendiri tidaklah lenglap. Maka dapat dikatakan bahwa sistem pakar memberi kemudahan dalam mencari dan mendapatkan solusi dari suatu masalah dengan menggunakan pengetahuan yang tertanam di dalamnya.

D. Sumber:

1. Magdalena, Merry. 2005. Kecerdasan Buatan Kini Hadir di Perpustakaan. http://lipi.go.id/berita/kecerdasan-buatan-kini-hadir-di-perpustakaan/731. 2 November 2017.
2. Jackson, Peter (1998), Introduction To Expert Systems (3 ed.), Addison Wesley, p. 2, ISBN 978-0-201-87686-4
3. Russell, Stuart; Norvig, Peter (1995). Artificial Intelligence: A Modern Approach. Simon & Schuster. pp. 22–23. ISBN 0-13-103805-2.
4. University of Missouri-St.Louis. Expert Systems and Applied Artificial Intelligence. 2 November 2017. http://www.umsl.edu/~joshik/msis480/chapt11.htm
5. Carl S. Gibson, et al, VAX 9000 SERIES, Digital Technical Journal of Digital Equipment Corporation, Volume 2, Number 4, Fall 1990, pp118-129.
6. Leondes, Cornelius T. (2002). Expert systems: the technology of knowledge management and decision making for the 21st century. pp. 1–22. ISBN 978-0-12-443880-4.
7. Durkin, J. Expert Systems: Catalog of Applications. Intelligent Computer Systems, Inc., Akron, OH, 1993.
8. A. Michiels. Introduction A Prolog: Et Au Traitement Du Langage Naturel. http://promethee.philo.ulg.ac.be/engdep1/download/prolog/htm_docs/prolog.htm. 3 November 2017
9. Kowalski, R. A. (1988). "The early years of logic programming". Communications of the ACM. 31: 38.
10. Colmerauer, A.; Roussel, P. (1993). "The birth of Prolog". ACM SIGPLAN Notices. 28 (3): 37.

11. Orfali, Robert (1996). The Essential Client/Server Survival Guide. New York: Wiley Computer Publishing. pp. 1–10. ISBN 0-471-15325-7.
12. Dahria, Muhammad. 2011. Pengembangan Sistem Pakar Dalam Membangun Suatu Aplikasi. https://lppm.trigunadharma.ac.id/public/fileJurnal/hp633-Jurnal-DAR-Sistem%20Pakar.pdf. 5 November 2017.
13. Clocksin, William F.; Mellish, Christopher S. (2003). Programming in Prolog. Berlin ; New York: Springer-Verlag.
14. Ogborn, Anne. 2015. "Tutorial — Creating Web Applications in SWI-Prolog". http://www.pathwayslms.com/swipltuts/html/index.html. 8 November 2017
15.  Lloyd, J. W. (1984). Foundations of Logic Programming. Berlin: Springer-Verlag.

Sunday, October 29, 2017

Tugas Grafik Komputer dan Pengolahan Citra: Membuat Garis Menggunakan Java dan OpenGL


Pada kesempatan kali ini penulis membuat sebuah tugas yang dimana tugasnya yaitu membuat sebuah program sederhana yang dapat menggambar garis horizontal, vertikal dan diagonal dengan berdasarkan input titik awal garis dan titik akhir garis dari pengguna, dimana program ini memanfaatkan library grafis OpenGL sebagai library untuk menampilkan outputnya di layar monitor. Bahasa pemrograman yang dipergunakan yaitu Java, dengan pembuatannya menggunakan program NetBeans versi 8.2. Adapun untuk library penghubung yang dipergunakan dalam menghubungkan Java dan OpenGL pada program ini yaitu LWJGL (LightWeight Java Game Library) versi 2.9.1.

Program ini dibuat dengan menggunakan empat file kelas Java, yaitu:
  1. Pr_Main.java - file kelas utama yang menampilkan menu utama program.
  2. Pr_Horizontal.java - file kelas yang berfungsi untuk menerima input dan menampilkan output garis horizontal (garis mendatar).
  3. Pr_Vertikal.java - file kelas yang berfungsi untuk menerima input dan menampilkan output garis vertikal (garis tegak lurus).
  4. Pr_Diagonal.java - file kelas yang berfungsi untuk menerima input dan menampilkan output garis diagonal (garis miring).
Seperti yang telah disebutkan di awal, program ini menggambar garis dengan berdasarkan titik awal dan titik akhir garis yang dimasukkan oleh pengguna. Maka dari sini dapat dikatakan bahwa program tersebut harus menggambar garis di layar dari suatu titik ke titik lain secara jelas dengan berdasarkan permintaan dari pengguna (dalam hal ini yaitu input titik awal dan titik akhir garis dari pengguna).

Di bawah ini adalah link untuk mengunduh program dan source code serta file dokumentasinya:
  1. Program + Source Code: klik di sini
  2. Dokumentasi + User Guide: klik di sini
Sekian dan terima kasih atas kunjungannya ke blog ini!

Saturday, October 21, 2017

PEAS: Sebuah Definisi

Kategori: Tulisan

Dalam tulisan kali ini akan dijelaskan tentang definisi dari pola PEAS yang dipergunakan dalam intelligent agent.

A. Definisi

PEAS merupakan sebuah pola pendeskripsian lingkungan kerja dari intelligent agent yang berfungsi untuk menjelaskan berbagai parameter yang tepat dalam mendefinisikan intelligent agent. Istilah ini merupakan kependekan dari Performance, Environment, Actuators dan Sensors, dimana keempat hal ini secara harafiah dijelaskan sebagai kumpulan parameter masalah yang diperlukan dalam proses pendefinisian dari suatu intelligent agent yang dapat menyelesaikan masalah-masalah tersebut.

Dalam praktiknya, PEAS dijadikan sebagai model utama dalam menentukan pendefinisian sebuah rational agent yang ideal. Hal ini dikarenakan apa yang dijabarkan dalam pola PEAS mencakup poin-poin penting dari sebuah masalah yang harus diselesaikan oleh agent tersebut secara rasional dan juga proporsional. Maka dari sini dapat dikatakan bahwa agent akan menyelesaikan semua permasalahan yang ditemui berdasarkan pada poin permasalahan yang ditentukan menggunakan parameter dari PEAS, sehingga masalah-masalah yang ditemui dapat diselesaikan secara baik.

Secara dasar, PEAS sendiri dapat dijelaskan menjadi seperti berikut:
  1. Performance: di sini kinerja agent menjadi tolok ukur penentu dari derajat kesuksesan sebuah proses penyelesaian masalah.
  2. Environment: menentukan lingkungan yang dijadikan sebagai sasaran dari proses penyelesaian masalah oleh sang agent.
  3. Actuators: perangkat yang digunakan agent untuk menyalurkan usahanya sangat menentukan seberapa besar usaha yang dibutuhkan dalam memecahkan masalah.
  4. Sensors: agent akan menentukan solusi yang dibutuhkan untuk memecahkan suatu masalah dengan berdasarkan apa yang ditangkap oleh sensor yang dimiliki agent tersebut.
Keempat poin di atas apabila dicontohkan pengaplikasiannya maka dapat seperti berikut ini (dengan contoh agent yaitu sistem diagnosa medis):
  1. Performance: kesembuhan pasien pasca pengobatan, biaya perawatan yang minim dan sengketa dalam proses pengobatan
  2. Environment: pasien, rumah sakit dan dokter
  3. Actuators: layar monitor untuk komunikasi
  4. Sensors: keyboard
Maka di sini dapat dikatakan bahwa penggunaan prinsip PEAS sebagai sebuah metode dalam mendefinisikan intelligent agent sangatlah berguna untuk menentukan ketepatan dan keefektifan kinerja dari agent secara baik.

B. Sumber

http://www4.ncsu.edu/~stamant/411/lectures/02-agents/peas.pdf
https://www.tutorialspoint.com/artificial_intelligence/artificial_intelligence_agents_and_environments.htm
http://www.cs.csi.cuny.edu/~imberman/ai/Intelligent%20Agents.pdf
https://web.northeastern.edu/magy/courses/AI/lectures/IA.pdf
http://maukar.staff.gunadarma.ac.id/Downloads/files/42871/Agent.pdf
Russell, Stuart J.; Norvig, Peter (2003), Artificial Intelligence: A Modern Approach (2nd ed.), Upper Saddle River, New Jersey: Prentice Hall, ISBN 0-13-790395-2, chpt. 2

Intelligent Agents: Definisi, Konsep dan Contoh

Kategori: Tulisan

Dalam tulisan kali ini akan dijelaskan tentang Intelligent Agents, mulai dari definisi, konsep dan contohnya dalam kehidupan sehari-hari.

A. Definisi

Secara umum Intelligent Agents dapat dipahami sebagai sebuah entitas berdiri sendiri yang bekerja dengan cara melakukan observasi terhadap lingkungan sekitar melalui sensor dan bertindak terhadap lingkungan melalui aktuator dalam mengarahkan aktivitasnya untuk mencapai tujuannya. Jika dilihat dari siapa yang menjadi agen, maka apa yang menjadi sensor dan aktuatornya dapat dijelaskan sebagai berikut:
  1. Manusia - sensor: mata, telinga dan organ panca indera lainnya, aktuator: tangan, kaki, mulut dan lainnya.
  2. Robot - sensor: kamera, alat penjejak inframerah, aktuator: motor penggerak yang ditanamkan ke dalam sistem.
  3. Perangkat lunak - sensor: input dari keyboard, pembacaan isi file dan penerimaan paket pada jaringan, aktuator: tampilan pada layar, penulisan file dan pengiriman paket pada jaringan.
Apabila dijelaskan dalam diagram, maka secara dasar pola dari intelligent agent menjadi seperti di gambar berikut ini:
Pola kerja dari intelligent agent terhadap lingkungan sekitarnya
Sehingga dapat dikatakan bahwa intelligent agent berfungsi sebagai agen yang memetakan persepsi yang diterima dari lingkungan untuk kemudian diproses menjadi tindakan yang akan diterapkan kepada lingkungan. Adapun fungsinya sendiri yaitu [f: P* -> A], dengan simbol P* menggambarkan persepsi, dan A menggambarkan sang agent itu sendiri. Ada beberapa tipe dari sebuah agent dalam praktik sehari-harinya, yaitu:
  1. Goal-based - mementingkan tujuan tanpa mensyaratkan cara-cara tertentu dalam menempuh jalan untuk mencapai tujuannya, sehingga satu tujuan dapat dicapai dengan cara yang berbeda.
  2. Utility-based - membutuhkan tujuan untuk mengetahui situasi mana yang diharapkan.
  3. Learning - agent akan mempelajari lingkungan terlebih dahulu sebelum kemudian melakukan tindakan untuk mencapai tujuannya.
  4. Simple reflex - dalam prosesnya agent akan melakukan tindakan berdasarkan persepsi yang diterima hanya berdasarkan apa yang dilihatnya.
  5. Model-based reflex - sebelum melakukan tindakan, agent terlebih dahulu melihat contoh dari tindakan yang seharusnya dilakukan terhadap lingkungan.
Sedangkan untuk jenis dari lingkungannya sendiri, terdapat beberapa jenis lingkungan dalam hubungan intelligence yang dimana jenisnya yaitu sebagai berikut:
  1. Fully observable
  2. Deterministic
  3. Episodic
  4. Static
  5. Discrete
  6. Single agent
B. Konsep

Dalam intelligent agent, terdapat konsep rasionalitas yang mencerminkan tentang bagaimana sebuah agent dapat bekerja secara benar dan ideal. Konsep rasionalitas ini menetapkan standar tentang pengukuran kemampuan dari agent dalam menyelesaikan masalah secara objektif dan rasional, yang dimana kedua poin ini adalah poin yang paling penting dalam menentukan kesempurnaan hasil pekerjaan dari agent tersebut. Pada konsep rasionalitas intelligent agent, yang dapat dianggap sebagai yang benar adalah agent yang paling sukses dalam menyelesaikan seluruh pekerjaannya, dengan 4 hal berikut menjadi penentu dari kesuksesan tersebut:
  1. Kemampuan yang terukur
  2. Pengetahuan tentang lingkungan yang didapat sebelumnya
  3. Tindakan yang dilakukan
  4. Urutan persepsi dalam penyelesaian pekerjaan
Adapun agent dapat melakukan tindakannya sesuai dengan yang diharapkan untuk memodifikasi persepsi yang akan datang dengan memanfaatkan informasi yang didapat dari tindakan yang telah dilakukan sebelumnya. Informasi-informasi yang bermanfaat tersebut menentukan seberapa besar pengalaman yang dimiliki oleh agent tersebut, sehingga ke depannya agent dapat bekerja secara otonom dengan mengandalkan pengalaman serta kemampuan untuk belajar dan beradaptasi dengan lingkungan yang senantiasa terus berubah dari waktu ke waktu.

C. Contoh

Ada beberapa contoh dari intelligent agent yang dapat ditemui di kehidupan sehari-hari, dengan beberapa di antaranya yaitu:
  • Sistem Diagnosa Medis
    • Performance measure: kesembuhan pasien, biaya perawatan yang minim dan sengketa
    • Environment: pasien, rumah sakit, dokter
    • Actuators: layar monitor
    • Sensors: keyboard
  • Robot Pabrik Penjamin Mutu
    • Performance measure: persentase jumlah komponen yang diletakkan secara benar
    • Environment: ban berjalan, komponen yang diuji, wadah tampungan
    • Actuators: gerak lengan dan tangan robot
    • Sensors: kamera, sensor fisik
Dari beberapa contoh di atas ada sebuah pola pendeskripsian lingkungan kerja dari intelligent agent yang dinamakan sebagai PEAS, yaitu Performance, Environment, Actuators dan Sensors. Definisi dari pola ini akan dijelaskan di entry berikutnya dari blog ini.

D. Sumber

http://maukar.staff.gunadarma.ac.id/Downloads/files/42871/Agent.pdf
Russell, Stuart J.; Norvig, Peter (2003), Artificial Intelligence: A Modern Approach (2nd ed.), Upper Saddle River, New Jersey: Prentice Hall, ISBN 0-13-790395-2, chpt. 2
http://artikel-teknologi-informasi.blogspot.co.id/2012/11/pengertian-agent-pada-ai-artificial.html
http://share.its.ac.id/pluginfile.php/1358/mod_resource/content/1/2._Agent_Cerdas.pdf
http://www.academia.edu/8327033/SWARM_INTELLIGENCE_INTELLIGENT_AGENT_Penerapan_Intelligent_Agent_Pada_E-Commerce

Saturday, September 30, 2017

Artificial Intelligence: Sejarah, Definisi dan Contoh Penerapan

Kategori: Tulisan

Post kali ini akan membahas seputar tentang Artificial Intelligence (AI), atau yang dalam bahasa Indonesia disebut sebagai "kecerdasan buatan". Adapun pembahasannya berkisar pada sejarah, definisi dan contoh dari penerapan AI pada teknologi yang dipergunakan di kehidupan sehari-hari.

A. Sejarah AI

Konsep terawal dari AI sudah dikenal jauh sebelum ilmu komputer muncul dan berkembang di dunia, dimana konsep AI sendiri berawal dari mitos, fiksi dan juga spekulasi yang beredar di antara kaum manusia pada masa lalu. Salah satunya seperti robot emas dari Hephaestus dan Galatea yang muncul dalam kisah mitologi Yunani pada masa dahulu kala, yang dimana ini menggambarkan bahwa manusia pada masa lalu sudah membayangkan keberadaan alat-alat mekanik yang dapat bekerja selayaknya seorang manusia. Dengan kata lain, konsep AI pertama kali muncul di dunia sebagai konsep manusia buatan (artificial human) dan mesin yang dapat berpikir (thinking machine) dengan cara yang mirip seperti cara berpikir manusia.

Pada abad ke-19, pemikiran tentang manusia buatan dan mesin yang dapat berpikir dikembangkan di dalam cerita-cerita fiksi seperti Frankenstein (karangan Mary Shelly), atau dalam spekulasi seperti Darwin Among the Machines (karangan Samuel Butler). Selain itu, L. Frank Baum (penulis cerita The Wonderful Wizard of Oz) membuat pula berbagai karakter fiktif manusia mekanik (yang di kemudian hari disebut robot), salah satunya karakter bernama Tiktok pada tahun 1907. Beliau mendeskripsikan karakter tersebut sebagai manusia mekanik yang "sangat responsif, dapat berpikir dan berbicara selayaknya seorang manusia secara sempurna". Alhasil penggambaran fiksi ini menjadi titik awal dari penggambaran tentang wujud akhir yang dituju dalam pengembangan AI yang dilakukan oleh para peneliti.

Dengan penemuan berbagai teknologi alat elektronik pada awal abad ke-20 serta pengembangan teknologi komputer pada periode 1940-an, kedua hal tersebut memicu dimulainya pengembangan dari konsep AI yang kita kenal pada masa sekarang ini. Istilah AI sendiri pertama kali dikemukakan oleh John McCarthy dalam konferensi yang diadakan di Dartmouth College pada tahun 1956, namun pemikiran terhadap AI sudah dimulai sejak tahun 1945, dimana Vannevar Bush mengemukakan tentang "sistem yang dapat memperkuat pengetahuan dan pemahaman seseorang" pada karyanya yang berjudul As We May Think. Selain itu Alan Turing menulis sebuah paper yang diterbitkan di jurnal Mind 49 yang terbit pada 1950 dengan topik utamanya berkisar pada konsep yang menyatakan bahwa "sebuah mesin dapat mensimulasikan seorang manusia dan kemampuannya untuk melakukan tindakan yang membutuhkan kecerdasan, salah satunya yaitu bermain catur".

Awalnya pada saat itu usaha yang dilakukan untuk mengembangkan AI lebih mengarah ke usaha untuk mengaplikasikan teknik robotika ke mesin secara mekanika, dibanding dengan menciptakan sistem yang dapat mengendalikan pergerakan dari mesin tersebut berdasarkan pemrograman yang dibuat untuk membentuk sejenis kecerdasan buatan. Walaupun begitu, dimulainya penggunaan komputer di institusi pendidikan serta badan pemerintahan secara luas sejak periode 1950-an membuat jumlah dari penelitian yang dilakukan untuk mengembangkan AI yang berdasarkan pada teknologi komputer meningkat secara tajam. Bahkan pada akhirnya pengembangan robot pun kemudian dilakukan bersama dengan pengembangan AI, sehingga terwujudlah perangkat yang diimpikan sejak zaman dahulu kala, yaitu mesin yang dapat bekerja secara otomatis dengan menggunakan kecerdasan buatan manusia yang ditanamkan di dalam mesin tersebut.

Jika diurutkan dalam daftar linimasa, maka beberapa peristiwa yang berkaitan dengan pengembangan AI dapat diurutkan sebagai berikut:
  1. 1956 - John McCarthy memperkenalkan istilah AI sebagai topik dalam Dartmouth Conference.
  2. 1957 - General Problem Solver (GPS) didemonstrasikan oleh Newell, Shaw dan Simon.
  3. 1963 - Program ANALOGY yang dibuat oleh Thomas Evans sebagai bagian dari karya untuk meraih gelar PhD di MIT sukses mendemonstrasikan percobaan yang menyimpulkan bahwa komputer dapat menyelesaikan masalah analogi yang sama seperti yang diberikan pada tes IQ.
  4. 1964 - Disertasi milik Danny Bobrow di MIT menunjukkan bahwa kemampuan komputer untuk dapat memahami bahasa natural secara baik memungkinkannya untuk menyelesaikan masalah aljabar dengan benar.
  5. 1967 - Program Dendral berhasil mendemonstrasikan proses penafsiran spektrum massa senyawa kimia organik. Program ini kemudian ditandai sebagai program berbasis pengetahuan paling pertama yang sukses dari segi bidang ilmu pengetahuan. Pada tahun yang sama, Joel Moses berhasil mendemonstrasikan program Macsyma yang berfungsi untuk memecahkan masalah penalaran simbolis dalam perhitungan integrasi matematika, dan program ini ditandai sebagai program berbasis pengetahuan paling pertama yang sukses dari bidang matematika.
  6. 1969 - Robot Shakey buatan SRI mendemonstrasikan penggabungan gerak, persepsi dan pemecahan masalah secara otomatis. Pada tahun yang sama, Roger Schank mendefinisikan model ketergantungan konseptual untuk pemahaman bahasa alamiah, dengan pengembangan lanjutan oleh Robert Wilensky dan Wendy Lehnert untuk model pemahaman cerita, dan Janet Kolodner untuk model pemahaman terhadap ingatan.
  7. 1973 - Grup The Assembly Robotics yang berlokasi di Edinburgh University membangun robot bernama Freddy yang dibuat untuk dapat menggunakan penglihatan dalam mengalokasikan dan membangun model dengan menggunakan prinsip kendali kecerdasan buatan.
  8. 1976 - Randall Davis mendemonstrasikan kekuatan dari penalaran tingkat meta dalam disertasi PhDnya di Stanford.
  9. 1979 - Hans Moravec sukses membuat dan mengujicoba Stanford Cart sebagai kendaraan tak berawak dengan kendali komputer pertama di dunia yang mampu melintasi ruangan yang dipenuhi dengan kursi serta mengelilingi laboratorium AI milik Stanford.
  10. 1981 - Danny Hillis merancang mesin koneksi yang merupakan sebuah arsitektur paralel berukuran masif yang membawa kekuatan baru terhadap pengembangan AI, dan juga terhadap pengembangan komputer pada umumnya.
  11. 1985 - Harold Cohen mendemonstrasikan program gambar otonom bernama Aaron yang telah dikembangkan oleh dirinya selama lebih dari sepuluh tahun dalam Konferensi Nasional AAAI, bersama dengan hasil karya selanjutnya yang menunjukkan perkembangan besar.
  12. 1989 - Dean Pomerleau dari CMU menciptakan ALVINN (An Autonomous Land Vehicle in a Neural Network), yang kemudian dikembangkan secara lebih lanjut menjadi sebuah sistem yang dapat mengendarai mobil dalam jarak tempuh jarak jauh di bawah kendali komputer.
  13. 1990-an - AI mengalami perkembangan sangat pesat, dengan jumlah demonstrasi ujicoba sistem berbasis AI yang meningkat tajam. Demonstrasi yang dilakukan di antaranya yaitu dalam bidang ilmu pembelajaran mesin, penalaran berbasis kasus, perencanaan multi-agen, penjadwalan, penalaran yang tidak pasti, data mining, realitas maya, permainan, dan berbagai bidang pembahasan lainnya.
  14. 1997 - program catur Deep Blue mengalahkan juara pertandingan olahraga catur tingkat dunia pada saat itu (Garry Kasparov) dalam sebuah pertandingan yang disaksikan secara luas.
  15. Akhir 1990-an - Program ekstrasi informasi yang berbasis AI seperti web crawler menjadi sangat penting dengan semakin berkembangnya World Wide Web (WWW).
  16. 2000 - Robot Nomad menjelajahi daerah terpencil dari Antartika untuk mencari contoh dari meteorit yang jatuh di sana.

B. Definisi AI

Ilustrasi penggambaran AI (sumber: videoblocks.com)

Sesuai dengan namanya, AI tersusun atas kata "artificial" (buatan) dan "intelligence" (kecerdasan), dimana kedua kata tersebut dapat dimaknai secara umum sebagai "sebuah konsep kecerdasan yang dibuat oleh manusia untuk memperkaya fungsi dari sebuah mesin". Namun jika diteliti, terdapat perbedaan definisi dari AI itu sendiri, di antaranya yaitu:
  1. Wilayah studi dari ilmu komputer yang berperan dalam pengembangan komputer yang dapat melakukan tindakan yang dilakukan oleh manusia, seperti belajar, menyimpulkan dan memperbaiki diri.
  2. Konsep yang menyatakan bahwa mesin dapat ditingkatkan kinerjanya untuk memiliki beberapa kemampuan yang secara normal hanya dimiliki oleh manusia.
  3. Perpanjangan tangan dari kecerdasan manusia melalui penggunaan komputer, seperti halnya penggunaan peralatan mekanis sebagai perpanjangan tangan dari tenaga fisik manusia.
  4. Disiplin ilmu yang mendedikasikan seluruh kegiatannya secara penuh terhadap memahami prinsip yang memungkinkan berbagai tindakan kecerdasan untuk dapat terwujud pada sistem alami dan buatan, serta mengembangkan metode untuk mendesain dan menerapkan artifak cerdas yang berguna.
Adapun dalam pendefinisian dari AI itu sendiri terdapat empat pendekatan utama, yaitu:
  1. Sistem yang bertindak seperti manusia - AI dibuat dengan mengedepankan prinsip yang menyatakan bahwa sistem dapat melakukan hal-hal yang membutuhkan kecerdasan ketika dilakukan oleh seorang manusia.
  2. Sistem yang berpikir seperti manusia - dalam pendekatan ini pola yang dikedepankan untuk mengembangkan sebuah AI adalah sistem melakukan otomatisasi seluruh kegiatan yang berkaitan dengan pikiran seorang manusia.
  3. Sistem yang berpikir rasional - pola pendekatan ini menggambarkan bahwa AI merupakan sebuah studi tentang komputasi yang memungkinkan untuk melihat, berpikir dan bertindak.
  4. Sistem yang bertindak rasional - prinsip dasar yang dijadikan pendekatan yaitu menetapkan AI sebagai cabang ilmu komputer yang memperhatikan otomasi terhadap perilaku cerdas dari suatu sistem.
Keempat pendekatan di atas tentu menggambarkan tujuan yang diinginkan dalam pengembangan AI, namun pada kenyataannya sistem AI pada masa sekarang lebih condong menggunakan pendekatan nomor 4. Hal ini dikarenakan sistem berbasis perilaku dapat diuji secara keilmuan dengan lebih mudah ketimbang sistem berbasis pikiran, dan pengujiannya sendiri didasarkan pada seberapa jauh kemampuan sistem AI untuk menyelesaikan sebuah masalah aktual dan juga menyelesaikan masalah tanpa harus sepenuhnya meniru pikiran manusia dalam mencari jalan keluarnya.

C. Contoh Pengaplikasian AI

Contoh antarmuka aplikasi Siri yang berbasis AI (sumber: iphonehacks.com)

Pada masa sekarang ini terdapat banyak contoh dari proses pengaplikasian konsep AI dan segala ide yang berkaitan dengannya dalam kehidupan sehari-hari, terutama dalam bidang teknologi informasi. Di bawah ini adalah beberapa contoh dari pengaplikasian AI yang dapat ditemui pada masa kini:
  1. Siri - aplikasi asisten pribadi yang dikembangkan oleh Apple ini mempergunakan konsep AI sebagai dasar dalam pengembangan sistem penunjang aktivitas pribadi yang dapat membantu sang pengguna dalam menjalani aktivitas sehari-hari. Adapun fungsi yang ditanamkan pada Siri yaitu mencari informasi, menunjukkan arah, menambahkan event ke dalam kalender dan sebagainya. Dengan menggunakan AI yang diaktifkan oleh suara, pengguna cukup mengucapkan perintah yang ingin dikatakan lalu Siri akan bekerja secara otomatis untuk melayani perintah yang diberikan oleh pengguna.
  2. Amazon.com - sistem AI yang dikembangkan oleh tim pengembang IT dari situs web jual-beli barang berbasis daring Amazon.com memungkinkan pengelola untuk dapat memberikan rekomendasi tentang suatu barang terhadap pengunjung dari situs tersebut dengan berdasarkan perilaku yang dilakukan oleh sang pengunjung ketika menjelajahi situs Amazon.com. Prinsip ini tentunya memudahkan pengelola Amazon.com dalam mengetahui barang apa yang diminati oleh pengunjung situs tersebut.
  3. Netflix - penggunaan AI dalam sistem utama Netflix yaitu untuk memberikan rekomendasi judul suatu film kepada penonton dengan berdasarkan reaksi terhadap film yang ditonton sebelumnya. Adapun algoritma dari sistem AI milik Netflix sendiri dibuat untuk dapat mengambil judul film sesuai dengan reaksi dari penonton terhadap film sebelumnya dari database mereka yang berisi ribuan judul film dari masa ke masa, yang tentunya algoritma program AI itu sendiri dibuat untuk memiliki keakurasian yang sangat tinggi.
  4. Nest - untuk memprediksi kebutuhan penghangatan dan pendinginan secara baik, program AI yang ditanamkan ke dalam termostat pintar ini mempergunakan algoritma berbasis perilaku yang dapat menyesuaikan suhu dari suatu ruangan (baik itu di rumah atau di kantor) dengan kebutuhan pribadi dari sang pengguna. Dengan penggunaan algoritma AI yang berbasis perilaku, suhu ruangan dapat diatur oleh pengguna tanpa harus repot-repot menekan tombol pengatur suhu ruangan (baik itu pendingin atau penghangat ruangan) dalam frekuensi yang sangat sering, karena perilaku dari pengguna ketika berada di dalam ruangan tersebut menjadi parameter utama dari penentuan suhu ruangan oleh Nest.
Keempat contoh di atas membuktikan bahwa AI sangatlah membantu manusia untuk dapat menyelesaikan masalah yang sebelumnya tidak dapat diselesaikan oleh tangan manusia saja. Hal ini dikarenakan logika kecerdasan buatan yang ditanamkan di dalam sistem berbasis AI memungkinkan suatu perangkat (baik itu perangkat keras atau perangkat lunak) untuk dapat mengatur kinerja dirinya sendiri ataupun melayani manusia yang membutuhkan keberadaan perangkat tersebut, dengan pola kerja yang dapat mengurangi atau bahkan mengeliminasi campur tangan manusia terhadap operasional perangkat itu sendiri (di luar kondisi darurat). Sehingga dengan adanya AI ini manusia dapat menjalani kehidupan secara lebih nyaman dan lebih teratur tanpa harus terhalang oleh hal-hal yang dapat mengganggu aktivitas mereka.

D. Sumber

1. McCorduck, Pamela (2004), Machines Who Think (2nd ed.), Natick, MA: A. K. Peters, Ltd., ISBN 1-56881-205-1, OCLC 52197627
2. https://courses.cs.washington.edu/courses/csep590/06au/projects/history-ai.pdf
3. http://nzetc.victoria.ac.nz/tm/scholarly/tei-ButFir-t1-g1-t1-g1-t4-body.html
4. https://www.aaai.org/ojs/index.php/aimagazine/article/download/1848/1746
5. https://www.researchgate.net/publication/220605666_A_Very_Brief_History_of_Artificial_Intelligence
6. http://www.eolss.net/sample-chapters/c15/e6-44.pdf
7. https://aiukswgkelompok11.wordpress.com/definisi-artificial-intelligence/
8. http://homepage.divms.uiowa.edu/~hzhang/c145/notes/chap1.pdf
9. https://www.forbes.com/sites/robertadams/2017/01/10/10-powerful-examples-of-artificial-intelligence-in-use-today/2/#7409ac4e3c8b
10. https://www.slideshare.net/iqvis/9-examples-of-artificial-intelligence-in-use-today-71185536

Monday, June 19, 2017

Sekilas Tentang Service Level Agreement dan Operational Level Agreement

Untuk kesempatan kali ini penulis akan membahas tentang Service Level Agreement (SLA) dan Operational Level Agreement (OLA), berikut dengan contoh kasus yang terdapat pada perusahaan yang berkecimpung di dunia teknologi informasi (TI).

A. Service Level Agreement

Gambaran dari Service Level Agreement (sumber: kumitukonsultan.com/wp-content/uploads/2016/04/service-level-agreement-kumitu.jpg)

Secara sederhana, Service Level Agreement atau lebih sering disingkat sebagai SLA adalah suatu kontrak resmi (bersifat formal) pada tingkat layanan yang berisi poin-poin kesepakatan antara pihak penjual produk atau layanan dan pihak pelanggan yang menggunakan produk atau layanan tersebut. Biasanya kesepakatan tersebut dapat dinegosiasikan antar kedua pihak untuk mengidentifikasikan harapan, tanggung jawab dan memfasilitasi komunikasi antar kedua pihak yang diukur dengan jangka waktu tertentu.

SLA sangat diperlukan untuk menjembatani kedua pihak tersebut, karena antara keduanya dapat saja terjadi perbedaan dalam sisi harapan. Pada umumnya, seorang pelanggan menginginkan tersedianya produk atau jasa yang ingin dia nikmati dalam waktu cepat, sedangkan pihak penyedia membutuhkan waktu untuk dapat mewujudkan ketersediaan tersebut. Di sinilah SLA berperan sebagai jembatan antar kedua pihak, dengan fungsi utama dari SLA tersebut yaitu untuk menjembatani perbedaan harapan, mendefinisikan kewenangan dan tanggung jawab dari masing-masing pihak. Selain itu, SLA juga berfungsi sebagai alat ukur dari efektifitas penyediaan produk atau layanan yang ditawarkan oleh pihak yang menyediakan produk atau layanan tersebut.

Tujuan dari disusunnya SLA sendiri di antaranya yaitu:
  • Agar pihak terkait dapat mematuhi persyaratan yang telah dituliskan di dalam kontrak
  • Meningkatkan kepercayaan dan kepuasan dari pengguna
  • Mengawasi kinerja dari kelompok tertentu, individu atau sub-kontraktor
  • Untuk menetapkan harapan pengguna secara tepat mengenai tingkat responsibilitas dari penyedia produk atau layanan
  • Memungkinkan adanya perbaikan sistem untuk keandalan dan stabilitas produk atau layanan
  • Untuk memungkinkan pemberian sanksi kepada pihak yang tidak memiliki kinerja yang baik
  • Untuk menghasilkan data operasional yang akan dianalisa sebagai bagian dari inisiasi suatu tindakan preventif terhadap masalah yang akan terjadi
  • Untuk menunjukkan kinerja dan meningkatkan persepsi nilai fungsi TI dalam bisnis
Dalam SLA yang berlaku di dunia TI, ada beberapa poin yang menentukan apakah produk atau layanan yang ditawarkan pihak penjual telah memenuhi keinginan pengguna, yang di antaranya yaitu:
  • Ketersediaan dari sebuah layanan kepada pengguna
  • Pengambilan tolok ukur dari kinerja suatu sistem secara periodik untuk dibandingkan dengan kinerja sistem yang sebenarnya
  • Waktu pemberian respon dari aplikasi terhadap pengguna
  • Penetapan jadwal untuk memberitahukan pengguna tentang perubahan di sisi jaringan yang dapat berpengaruh terhadap aktivitas pengguna
Poin-poin di atas sangatlah penting untuk diperhatikan oleh kedua belah pihak yang terkait dengan SLA tersebut (baik itu pihak penyedia produk atau layanan maupun pihak pengguna). Ini dikarenakan apa yang tertulis di dalam kontrak SLA sangat menentukan bagaimana langkah yang tepat untuk memenuhi keinginan pengguna secara maksimal, sekaligus memungkinkan penyedia layanan untuk dapat menyelesaikan masalah yang terjadi selama pelaksanaan dari proses yang ditujukan untuk memenuhi keinginan pengguna.

Ketika membuat SLA, ada lima unsur yang harus diperhatikan, yaitu:
  • Supplier - dalam dunia IT, pihak supplier yang dimaksud yaitu mereka yang merupakan penyedia dari produk atau jasa layanan IT.
  • Input - merujuk kepada penyediaan dari berbagai sumber daya yang dibutuhkan untuk menyediakan produk atau layanan tersebut kepada pengguna.
  • Proses - berbagai proses yang terdapat di unsur ini memiliki tujuan yaitu untuk menghasilkan produk atau layanan IT yang selanjutnya akan ditawarkan kepada pengguna. Adapun prosesnya yaitu Proses Utama (contoh: menyusun kode utama program atau membuat desain tampilan suatu aplikasi), Proses Pendukung (contoh: menambahkan fungsi-fungsi pelengkap ke dalam aplikasi yang sedang dibuat) dan Proses Manajemen (contoh: menguji aplikasi yang dihasilkan secara terperinci untuk mencari kekurangan yang dapat diperbaiki sebelum akhirnya diberikan kepada pengguna).
  • Output - unsur ini mencakup semua produk atau layanan IT yang telah dihasilkan dari suatu proses
  • Customer - pihak yang membutuhkan atau menerima produk atau layanan IT yang diberikan oleh pihak supplier dikategorikan ke dalam unsur ini
Kelima unsur di atas harus diposisikan dalam porsi yang saling seimbang demi menjamin hubungan yang baik antara penyedia produk atau layanan dengan pengguna. Apabila porsi kelimanya seimbang, maka akan tercipta kesinambungan yang baik dan ideal dalam hubungan antara penyedia produk atau layanan dengan pengguna untuk jangka waktu yang panjang. Adapun diagram aliran proses dari SLA antara lain yaitu:
  • Mengidentifikasi portofolio layanan
  • Mendefinisikan kontrak yang mendasar
  • Mengidentifikasi parameter penting layanan
  • Mendefinisikan Persetujuan Tingkat Pelayanan (SLA)
  • Mendefinisikan proses peningkatan
  • Memantau SLA yang terkait dengan transaksi
  • Mengidentifikasi kasus spesifik yang dibutuhkan untuk peningkatan
  • Melaksanakan proses peningkatan yang sesuai
  • Mengambil tindakan pencegahan atau perbaikan
  • Mencegah pelanggaran SLA yang mungkin terjadi
  • Melaporkan penyesuaian SLA secara keseluruhan
  • Mengulas kinerja terhadap SLA
  • Menentukan apakah tujuan SLA realistis dan dapat dicapai
  • Negosiasi ulang definisi layanan dan atau tingkat layanan dengan perusahaan
B. Operational Level Agreement

Gambaran Operational Level Agreement (sumber: help.heatsoftware.com/content/resources/images/services_ola.png)

Berdasarkan namanya, Operational Level Agreement (disingkat sebagai OLA) dapat didefinisikan sebagai suatu perjanjian antara beberapa grup yang menangani bidang TI dalam sebuah perusahaan, dengan isi dari perjanjian tersebut menyatakan tentang tanggungjawab antara tiap grup dalam mendukung grup-grup lainnya untuk penyediaan sebuah atau serangkaian layanan berbasis TI di dalam internal perusahaan tersebut. OLA didesain untuk dapat mengidentifikasi dan menyelesaikan masalah-masalah TI dengan cara mendefinisikan sebuah rangkaian kriteria dan layanan TI yang dimana tiap departemen bertanggungjawab terhadap hal-hal tersebut.

Ada beberapa perbedaan antara sebuah OLA dengan sebuah SLA, yang diantaranya yaitu:
  • SLA berfokus pada bagian pelayanan dari suatu perjanjian, sedangkan OLA berkisar di bidang teknik seperti perawatan dan sebagainya
  • SLA merupakan perjanjian yang menjembatani pihak pemberi layanan dan pihak pelanggan, sedangkan OLA berfungsi sebagai perjanjian antar pihak pendukung di dalam suatu institusi yang bersifa sebagai pendukung dari SLA
  • OLA memiliki konten yang bersifat lebih teknis ketimbang SLA
Umumnya OLA dipergunakan oleh perusahaan untuk:
  • Memfokuskan pada penilaian metrik kinerja diskrit seperti ketersediaan perangkat keras dan lunak
  • Menambahkan metrik untuk poin-poin kinerja tim pelayanan, waktu respons teknisi, serta kepuasan pelanggan terhadap pelayanan dari perusahaan
  • Menilai dampak ekonomi dari hilangnya sumber daya pada perusahaan
  • Mempublikasikan data statistik tentang kepuasan ke komunitas pengguna internal
Meskipun OLA bersifat sebagai sebuah perjanjian khusus internal perusahaan, namun OLA memiliki peran yang penting dalam pembuatan sebuah SLA. Hal ini dikarenakan OLA sangat membantu tim pendukung untuk dapat menjamin bahwa kegiatan pendukung yang dilakukan oleh tim tersebut dapat disesuaikan secara jelas dalam menyediakan SLA yang akan diberikan kepada calon pelanggan. Dengan kata lain, OLA tidak dapat menggantikan SLA, atau tidak hadir sama sekali di dalam proses pembuatan SLA. Apabila OLA tidak ada sama sekali, maka akan terjadi masalah dimana perusahaan tidak dapat membuat perjanjian yang bersifat menghubungkan antar tim pendukung dalam usaha untuk memberikan SLA kepada pelanggan secara tepat waktu.

C. Contoh Kasus

Jogjahost merupakan sebuah perusahaan TI yang berlokasi di kota Yogyakarta, dengan produk yang ditawarkan oleh perusahaan ini yaitu jasa pembuatan dan hosting dari nama domain situs web. Untuk memastikan bahwa pelayanan yang diberikan oleh perusahaan ini berada dalam tahap yang maksimal, maka perusahaan ini menetapkan SLA antara pihaknya dengan pelanggan, yang isinya tertera sebagai berikut:

1. SLA yang dibuat oleh Jogjahost hanya berlaku antara Jogjahost sebagai pihak penyedia jasa dan pelanggan yang terdaftar secara langsung di daftar pelanggan Jogjahost
2. Pelanggan dari reseller atau pihak lain yang secara tidak langsung menggunakan layanan Jogjahost namun tidak terdaftar langsung sebagai pelanggan tidak berhak mendapatkan SLA yang diberikan oleh Jogjahost sebagai penyedia

Adapun isi dari SLA yang diberikan oleh Jogjahost yaitu sebagai berikut (dengan pengubahan seperlunya):

1. Uptime 99% - Jaminan Uptime Konektivitas Internet

Jogjahost memberikan jaminan konektivitas internet pada host server sebesar 99% uptime per bulan di luar downtime akibat maintenance yang sebelumnya telah di umumkan melalui Email. Untuk server yang berlokasi di Amerika Serikat, pelanggan mendapatkan jaminan redundancy link ke berbagai backbone internasional, sedangkan untuk server yang berlokasi di Indonesia, pelanggan mendapatkan jaminan konektivitas internasional dan konektivitas langsung ke local exchange (IIX atau OIXP). Kegagalan terhadap penyediaan konektivitas internet oleh Jogjahost pada server hosting akibat gangguan jaringan dapat diklaim apabila berlangsung melebihi batas 1% dalam satu bulan dan terjadi dalam satu waktu, tidak termasuk akumulasi dari gangguan yang terjadi dibawah 1%.

2. Server - Jaminan Uptime Server

Jogjahost memberikan jaminan uptime server sebesar 99% uptime per bulan di luar downtime akibat perawatan yang sebelumnya telah diumumkan melalui surat elektronik. Untuk menjaga kinerja dari server, Jogjahost melakukan perawatan secara rutin pada akhir pekan. Selama masa perawatan, ada kemungkinan server akan direboot tanpa adanya notifikasi. Kegagalan terhadap penyediaan uptime server oleh Jogjahost dapat diklaim apabila berlangsung melebihi batas 1% dalam satu bulan dan terjadi dalam satu waktu, tidak termasuk akumulasi dari gangguan yang terjadi dibawah 1%.

3. Security - Jaminan Keamanan Data

Jogjahost tidak dapat menjamin terhadap isi dari akun hosting pelanggan yang meliputi file, database, email, dan pelanggan bertangung jawab penuh terhadap isi dari akun hosting milik pelanggan. Demi menjaga keamanan data pelanggan, Jogjahost memberikan backup file yang dibackup setiap minggu sekali, tetapi walaupun demikian Jogjahost tetap tidak dapat menjamin seluruh file backup dalam kondisi 100% sempurna. Layanan backup ini hanya diberikan untuk akun dengan maksimal penggunaan hosting sebesar 2GB.

4. Firewall

Untuk pagar keamanan paling depan Jogjahost menggunakan firewall. Pelanggan bisa saja tidak dapat mengakses situs milik pelanggan yang dikarenakan keberadaan dari firewall. Beberapa hal yang dapat mengakibatkan pelanggan terblokir oleh firewall milik Jogjahost:

a. Salah memasukan username dan password ke cpanel/webmail
b. Salah memasukan username dan password ke FTP
c. Koneksi internet anda secara otomatis terputus disaat sedang melakukan upload data melalui FTP
d. Koneksi internet anda secara otomatis berganti ganti IP saat mengakses cpanel/webmail dan juga FTP
e. Isi dari situs terblokir karena mengandung script yang dianggap berbahaya

Pelanggan yang tidak dapat mengakses situs dikarenakan firewall ini tidak termasuk dalam 1% maksimal jaminan uptime network dari Jogjahost

5. Klaim Kegagalan - Klaim Atas Kegagalan Jaminan

a, Klaim atas kegagalan jaminan di atas dapat di klaim dalam waktu maksimal 3 hari setelah terjadinya gangguan.
b. Klaim kegagalan uptime server dan uptime network harus disertai bukti hasil traceroute ke arah domain pelanggan dalam waktu terjadinya gangguan dan akan dilakukan crosscheck dengan data milik Jogjahost.
c. Jaringan milik Jogjahost tidak dapat di monitoring oleh layanan pihak ketiga seperti www.pingdom.com atau www.host-tracker.com, sehingga klaim yang menggunakan layanan seperti ini tidak diterima oleh Jogjahost
d. Klaim akan ditolak apabila terjadinya kegagalan atas Jaminan Uptime Konektivitas Internet disebabkan oleh pihak lain yang berada di luar tanggung jawab Jogjahost, termasuk dan tidak terbatas didalamnya :
  • Gangguan konektivitas internet pada ISP pelanggan
  • Gangguan konektivitas internet yang terjadi pada salah satu rute yang menjadi jalur konektivitas dari pelanggan ke server Jogjahost
  • Gangguan yang disebabkan oleh force majeure
  • Gangguan yang disebabkan oleh adanya gangguan yang ditimbulkan oleh pihak lain
e. Apabila gangguan yang diklaim oleh pelanggan datanya cocok dengan data milik Jogjahost, maka Jogjahost wajib mengembalikan biaya hosting selama 1 bulan penuh dalam bentuk uang atau dalam bentuk kompensasi lain yakni penambahan masa berlaku hosting selama 1 bulan. Klaim kegagalan jaminan otomatis akan batal apabila :
  • Account hosting pelanggan dinyatakan melanggar Terms of Service
  • Account hosting pelanggan telah di suspend atau dihapus
f. Klaim kegagalan layanan hanya berlaku untuk layanan hosting, Dedicated Server dan Virtual Private Server. Sedangkan layanan yang berhubungan dengan pihak ketiga seperti layanan registrasi nama domain dan layanan managed DNS dan domain forwarding yang bersifat gratis tidak dapat diklaim saat terjadi kegagalan layanan. Bagaimanapun juga Jogjahost akan berusaha sebaik-baiknya untuk menyampaikan masalah ini kepada pihak ketiga yang terkait

6. Pajak - Pemungutan Pajak

a. Setiap transaksi penjualan di Jogjahost dikenakan PPN sebesar 10%. Pelanggan dapat meminta kepada Jogjahost untuk mengirimkan faktur pajak dengan melalui email atau melalui surat fisik (dikenakan biaya pengiriman jika menggunakan surat fisik)
b. Untuk Instansi Pemerintah (prefix NPWP 00), jika total pembayaran (termasuk PPN) sejumlah lebih besar dari Rp. 1.000.000,-, maka bendahara instansi pemerintah tersebut wajib memungut, melakukan pembayaran, dan menyerahkan SSP lembar 1 dan 3 ke Jogjahost
c. Untuk Instansi Pemerintah (prefix NPWP 00), jika total pembayaran (termasuk PPN) sejumlah kurang dari Rp. 1.000.000,-, maka bendahara instansi pemerintah tersebut wajib melakukan pembayaran sesuai jumlah invoice yang telah ditambahkan PPN didalamnya. Jogjahost akan mengirimkan faktur dalam waktu 2 minggu setelah pembayaran diterima
d. Untuk informasi lebih lanjut mengenai pemungutan pajak, silahkan hubungi Jogjahost di nomor telepon 0274-8300046

7. Pembayaran - Billing dan Pembayaran

a. Semua layanan kecuali domain dan dedicated server kami berlakukan sistem pro rata, dimana seluruh tagihan akan jatuh tempo pada tangga 1 setiap bulanya.
b. Batas perhitungan pro rata untuk pembelian awal diterapkan sebelum tanggal 1-14 dan 14-akhir bulan akan dikenakan biaya bulan tersebut + bulan berikutnya jika memesan bulanan. Contoh:
  • Tanggal 5 April pelanggan memesan hosting seharga Rp. 100.000, maka tanggal 5 pelanggan berkewajiban membayar Rp83.3333, dan pada awal bulan Mei pelanggan mendapatkan tagihan full Rp100.000
  • Tanggal 20 April pelanggan memesan hosting seharga Rp. 100.000, maka tanggal 20 April pelanggan berkewajiban membayar Rp133.333, dan pelanggan tidak dikenakan tagihan pada bulan Mei. Tagihan akan diperoleh pada 1 Juni
c. Untuk layanan domain dan dedicated server akan mendapatkan tagihan sesuai dengan tanggal pemesanan
d. Jogjahost akan mengeluarkan tagihan pada email dan SMS kontak yang terdaftar pada sistem billing Jogjahost 14 hari sebelum tagihan jatuh tempo.
e. Domain yang expire secara otomatis akan di redirect oleh pihak registrar pada tanggal jatuh tempo dan untuk mengembalikannya agar bisa diakses butuh waktu antara 6 – 72 jam.
f. Hosting yang habis masa berlakunya akan dikenakan suspend 10 hari setelah jatuh tempo pembayaran dan akan dibatalkan layanannya 14 hari setelah jatuh tempo.
g. Hosting yang telah dibatalkan layanannya karena keterlambatan pembayaran dapat diaktifkan kembali dengan tambahan biaya re-aktivasi dan biaya berlangganan.
h. Jogjahost tidak memberikan jaminan backup pada akun yang telah dibatalkan. Walaupun demikian pihak Jogjahost tetap akan mengupayakan melakukan recovery data pelanggan, tetapi akan timbul biaya untuk hal ini
i. Setiap pembayaran yang dilakukan harus dikonfirmasikan terlebih dahulu melalui halaman website http://konfirmasi.jogjahost.co.id
j. Apabila dalam waktu 24 jam setelah mengkonfirmasikan pembayaran ternyata pelanggan belum menerima email, Jogjahost menyarankan untuk segera menghubungi Jogjahost apabila hal ini terjadi untuk melakukan klarifikasi ulang mengenai pembayaran yang telah dilakukan.
k. Jogjahost tidak bertanggungjawab atas pembayaran yang tidak dikonfirmasikan. Konsekuensi - konsekuensi yang timbul akibat hal itu seperti:
  • Domain expire / hilang
  • Akun hosting tersuspend
  • Timbulnya biaya re-aktivasi
  • Konsekuensi lainnya yang sepenuhnya menjadi tanggungjawab pelanggan
D. Sumber Referensi

1. http://www.bppk.kemenkeu.go.id/publikasi/artikel/167-artikel-pajak/12530-mengenal-lebih-dekat-sla-service-level-agreement
2. http://searchitchannel.techtarget.com/definition/service-level-agreement
3. http://modulmakalah.blogspot.co.id/2016/12/Manajemen.SLA.Service.Level.Agreement.Pengertian.Contoh.dan.Fungsi.html
4. http://www.knowledgetransfer.net/dictionary/ITIL/en/Operational_Level_Agreement.htm
5. http://whatis.techtarget.com/definition/operational-level-agreement-OLA
6. https://en.wikipedia.org/wiki/Operational-level_agreement
7. http://saas.y-im.de/smHelpCodeless/Content/sla/concepts/operational_level_agreements.htm
8. https://www.jogjahost.co.id/sla.php
9. http://www.differencebetween.net/miscellaneous/difference-between-ola-and-sla/

Friday, May 19, 2017

Pembahasan dan Perbandingan Framework Manajemen Layanan SI

Pada post kali ini, penulis akan membahas secara sederhana tentang 3 framework dari manajemen layanan sistem informasi (SI), berikut dengan perbandingan antara ketiganya. Adapun framework yang dibahas yaitu Application Services Library (ASL), Microsoft Operations Framework (MOF) dan Control Objectives for Information and Related Technology (COBIT).

A. Application Services Library (ASL)

Framework ini pertama kali dikembangkan pada akhir era 1990-an di Belanda sebagai model milik R2C, yang dimana framework ini dikembangkan dengan tujuan untuk memberikan metode-metode terbaik yang dapat dipergunakan untuk melakukan standardisasi berbagai proses dalam pengelolaan siklus hidup sebuah aplikasi komputer (dalam hal ini yaitu aplikasi sistem informasi). Pada tahun 2000, framework ini berevolusi menjadi ASL, lalu pada 2001 diserahkan pengembangannya ke ASL BiSL Foundation (ketika itu masih bernama ASL Foundation). Setelah itu ASL dirilis ke publik pada tahun 2002, dan kemudian pada tahun 2009 dirilis versi kedua dari ASL (yaitu ASL2) yang ditujukan sebagai penyempurnaan dari ASL.

Pengembangan dari ASL sendiri ditujukan untuk mendukung manajemen aplikasi dengan menyediakan berbagai perangkat yang diperlukan oleh aktivitas-aktivitas tersebut. Adapun tujuan dari ASL yaitu untuk membantu seluruh proses profesionalisasi dari manajemen aplikasi.

Dalam struktur framework ASL2 (yang merupakan versi terbaru ASL hingga saat ini), terdapat 3 tingkat, 6 cluster dan 26 proses yang tersedia, yaitu:
  • Tingkat Operasional - tingkat ini memiliki 3 cluster, yaitu:
    • Application Support - pada cluster ini proses-proses yang termasuk di dalamnya dibuat untuk mendukung penggunaan SI secara harian. Proses-proses tersebut adalah:
      • Use Support
      • Configuration Management
      • IT Operation Management
      • Continuity Management
    • Application Maintenance and Renewal - cluster ini berisi 5 proses yang berkisar pada pengembangan aplikasi. Adapun prosesnya yaitu:
      • Impact Analysis
      • Design
      • Realization
      • Testing
      • Implementation
    • Connecting Processes - secara sederhana cluster ini berisi 2 buah proses yang bertugas untuk melakukan sinkronisasi dari aktivitas Service Organisation dan aktivitas pengembangan serta perawatan. Prosesnya yaitu:
      • Change Management
      • Software Control and Distribution
  • Tingkat Manajemen - ada 1 cluster yang terdapat pada tingkat ini, yaitu:
    • Management Processes - pada cluster ini terdapat proses-proses yang didefinisikan untuk pengelolaan berbagai aktivitas dalam berbagai cluster di tingkat operasional. Adapun prosesnya berada di tingkat taktis dan dipergunakan untuk mengendalikan proses operasional. Proses-prosesnya sendiri yaitu:
      • Contract Management
      • Planning and Control
      • Quality Management
      • Financial Management
      • Supplier Management
  • Tingkat Strategis - terdapat 2 cluster dalam tingkat ini, yaitu:
    • Application Strategy - cluster ini berfungsi sebagai wadah dari penyusunan berbagai strategi yang diperlukan untuk memperkirakan seperti apa kebutuhan terhadap sebuah aplikasi di masa depan, berikut dengan tampilannya di masa depan. Proses yang terdapat di dalamnya yaitu:
      • IT Developments Strategy
      • Customer Organizations Strategy
      • Customer Environment Strategy
      • Application Lifecycle Management
      • Application Portfolio Management
    • Application Management Organization Strategy - berdasarkan fungsinya, cluster ini berisi proses yang menentukan bagaimana strategi yang tepat dalam pengelolaan organisasi untuk menangani berbagai pengelolaan aplikasi. Prosesnya yaitu:
      • Account and Market Definition
      • Capabilities Definition
      • Technology Definition
      • Supplier Definition
      • Service Delivery Definition
Selain itu ASL2 menawarkan sebuah maturity model yang memiliki 5 tingkat proses kematangan pengelolaan sebuah layanan SI, yang dimana tingkatannya adalah:
  • Tingkat 1 - Initial
  • Tingkat 2 - Repeatable
  • Tingkat 3 - Defined and Managed
  • Tingkat 4 - Optimizing
  • Tingkat 5 - Chain

B. Microsoft Operations Framework (MOF)

Sesuai dengan namanya, framework ini dikembangkan oleh Microsoft sebagai sebuah panduan bagi praktisi SI tingkat profesional dalam membentuk dan mengimplementasikan layanan SI yang efektif dalam biaya dan dapat diandalkan. Adapun framework ini dikembangkan dari framework IT Infrastructure Library, dengan cakupan yaitu bidang SDM, prosedur dan teknologi yang berkaitan dengan seluruh sistem layanan SI.

Ada empat prinsip dasar dari MOF, yaitu:
  • Arsitektur yang terstruktur - model yang terdapat di dalam MOF memberikan struktur untuk integrasi proses, penanganan siklus hidup, pemetaan peran dan tanggung jawab, dan pengelolaan terhadap perintah dan kendali dalam sistem secara keseluruhan. Selain itu, MOF juga memberikan fondasi untuk otomatisasi proses dan operasi yang terfokus pada teknologi
  • Penyempurnaan berbasis iterasi dengan siklus yang cepat - MOF mempergunakan konsep ini untuk memungkinkan terbentuknya sebuah ketahanan terhadap lingkungan bisnis yang agresif, dengan cara memanfaatkan siklus hidup bersifat iteratif yang mendukung kapabilitas untuk dapat menerapkan perubahan secara cepat dan melakukan penilaian serta perbaikan secara terus-menerus
  • Pengelolaan berbasis evaluasi berkala - MOF mempergunakan evaluasi berkala yang dilakukan pada tiap akhir tahapan dalam siklus iterasi untuk membantu pengelolaan dari lingkungan operasi yang dapat memaksimalkan keuntungan dari investasi terhadap layanan SI, selain tentunya mengandalkan Service Management Function (SMF) untuk pengelolaan tersebut
  • Pengelolaan risiko yang tertanam di dalam prosedur - dalam model pengelolaan risiko secara menyeluruh yang ditawarkan oleh MOF, terdapat konsep-konsep pengelolaan risiko yang diterapkan melalui seluruh operasi yang dilakukan di sistem untuk memperluas pandangan tentang bagaimana tindakan yang tepat untuk pengelolaan risiko terhadap kemungkinan dari sebuah sistem untuk mengalami masalah
Sedangkan struktur dari MOF yaitu berupa siklus yang dijabarkan sebagai berikut:

Siklus MOF (sumber: technet.microsoft.com/en-us/library/bb497036.aspx)

  • Siklus Changing - siklus ini berfungsi sebagai tempat dari pengelolaan berbagai perubahan yang akan dilakukan terhadap sebuah sistem, dengan proses yaitu:
    • Change Management
    • Configuration Management
    • Release Management
  • Siklus Operating - pada siklus ini segala pengelolaan terhadap operasional dari sistem dilakukan secara teliti dan menyeluruh. Adapun prosesnya yaitu:
    • System Administration
    • Security Administration
    • Service Monitoring and Control
    • Job Scheduling
    • Network Administration
    • Directory Services Administration
    • Print and Output Management
    • Storage Management
  • Siklus Supporting - sesuai dengan namanya, siklus ini berisi langkah-langkah pengelolaan yang berupa dukungan terhadap pengguna untuk segala hal yang terjadi selama sistem beroperasi, baik itu kerusakan sistem akibat hal yang tidak diduga dan yang lainnya. Prosesnya terdiri dari:
    • Service Desk
    • Incident Management
    • Problem Management
  • Siklus Optimizing - siklus ini berisi berbagai tahap pengelolaan yang dibutuhkan untuk mengoptimalkan infrastruktur, keamanan, kerjasama antar pegawai dan dukungan terhadap sistem. Proses-prosesnya yaitu:
    • Service Level Management
    • Financial Management
    • Service Continuity Management
    • Availability Management
    • Capacity Management
    • Workforce Management
Di antara tiap siklus terdapat evaluasi, yang dimana evaluasinya berupa sebagai berikut:
  • Release Readiness Review - berada di antara siklus Changing dan siklus Operating, evaluasi ini berfungsi untuk menguji bagaimana kesiapan dari sebuah sistem untuk dapat dilepaskan ke pasaran dan dioperasikan oleh pengguna
  • Operations Review - evaluasi ini dilakukan di antara siklus Operating dan siklus Supporting, dengan sasaran pengujian yaitu apakah terdapat masalah dalam sistem yang dioperasikan oleh pengguna atau tidak
  • Service Level Agreement Review - evaluasi ini berada di antara siklus Supporting dan siklus Optimizing, dengan fungsi utama yaitu menguji kesiapan suatu sistem untuk dioptimalkan kinerjanya berdasarkan persetujuan antara pihak yang menangani support terhadap sistem dan pihak yang bertugas untuk optimalisasi sistem
  • Release Approved Review - fungsi dari evaluasi ini yaitu berupa menguji apakah kesiapan suatu sistem untuk dilepas ke pasaran telah disetujui oleh pihak pembuat dan pihak pengguna

C. Control Objectives for Information and Related Technology (COBIT)

Dikembangkan oleh ISACA (Information Systems Audit and Control Association), framework ini ditujukan untuk membantu pengembangan tatakelola layanan SI dari suatu perusahaan secara profesional. Framework ini menyediakan penjabaran yang bersifat end-to-end untuk menggambarkan peran utama dari informasi dan teknologi dalam menciptakan nilai dari suatu perusahaan. Ada 5 prinsip kunci yang dijadikan sebagai dasar dari COBIT untuk pendefinisian tatakelola dari layanan SI, yaitu:
  • Pemenuhan kebutuhan stakeholder
  • Melindungi titik-titik penting perusahaan
  • Penggunaan sebuah framework terintegrasi
  • Memungkinkan pendekatan secara holistik
  • Memisahkan tatakelola dengan manajemen
Struktur dan prinsip COBIT (sumber: http://www.ensight.ro/newsletter/no54/images/img1mare.jpg)

Berdasarkan diagram di atas, struktur utama dari COBIT yaitu terdiri atas 7 unsur penggerak berikut ini:
  • Principles, Policies and Frameworks - bagian ini merupakan sarana untuk menginterpretasikan berbagai tingkah laku yang diinginkan ke dalam petunjuk praktek untuk pelaksanaan segala aktivitas pengelolaan harian
  • Processes - menjelaskan kumpulan terorganisasi dari berbagai praktik dan aktivitas yang dilakukan untuk mencapai tujuan yang telah ditentukan, serta menghasilkan sekumpulan keluaran di dalam dukungan pencapaian seluruh sasaran dari layanan SI
  • Organisational Structures - di sini yang dimaksud yaitu merupakan penataan terhadap struktur dari entitas pembuatan keputusan kunci di dalam sebuah perusahaan
  • Culture, Ethics and Behaviour - hal ini mencakup perbaikan dari berbagai kebiasaan dari individu yang ada di dalam perusahaan (atau bahkan kebiasaan dari perusahaan itu sendiri) yang sering dianggap sebagai faktor penghambat kesuksesan di dalam berbagai aktivitas tatakelola, sehingga dengan adanya perbaikan ini jalan bagi sebuah perusaahaan untuk mencapai kesuksesan semakin lancar
  • Information - pada dasarnya ini merujuk ke semua kebutuhan tentang kepastian dari berjalannya suatu perusahaan secara baik, termasuk dalam hal tatakelola yang dilakukan
  • Services, Infrastructure and Applications - bidang yang disasar yaitu layanan dan proses dari SI yang dibutuhkan oleh perusahaan
  • People, Skills and Competencies - unsur ini dibutuhkan dalam penyelesaian semua aktivitas tatakelola, berikut dengan kemampuan yang berkaitan dengan pengambilan keputusan yang tepat maupun aksi perbaikan yang dibutuhkan ketika ada suatu hal yang tidak diinginkan

D. Perbandingan antar framework

Berdasarkan ketiga framework manajemen layanan SI yang telah dibahas di bagian atas, maka dapat dibuat beberapa perbandingan antara ketiga framework tersebut. Perbandingannya yaitu terdiri dari beberapa variabel yang di antaranya adalah:
  • Pola penjabaran proses - ASL menggunakan pola hirarkis yang dibagi ke dalam beberapa cluster dalam menjabarkan proses-proses yang terlibat di dalam framework, sedangkan MOF menggunakan pola iterasi berkelanjutan, dan COBIT menggunakan pola cluster untuk menjelaskan hubungan antar proses di dalam framework tersebut
  • Dukungan pelayanan - ASL mengedepankan dukungan pelayanan kepada klien dengan menggunakan proses yang berbasis bisnis, sementara COBIT dan MOF menggunakan prinsip dukungan berbasis teknis dan organisasional (termasuk dalam hal ini tentang pengelolaan tenaga kerja serta budaya dan etika yang terdapat di dalam organisasi)
  • Sistem evaluasi - MOF menggunakan sistem evaluasi berbasis keseluruhan yang ditempatkan di antara tiap siklus iterasi, sedangkan COBIT dan ASL menempatkan evaluasi di tiap proses secara mendetail dan tidak tercampur antara satu sama lain
  • Teknik pengelolaan - ASL dan COBIT difokuskan ke dalam pengelolaan layanan SI secara luas dan tidak terbatas di salah satu jenis teknologi, sedangkan MOF mengusung pengelolaan layanan SI yang berdasarkan pada teknologi buatan Microsoft di samping teknik pengelolaan layanan yang bersifat umum
  • Pengelompokan sumber daya - COBIT mengelompokkan sumber daya ke dalam suatu sektor proses tersendiri yang membuat manajemen sumber daya dapat terfokus secara teliti, sedangkan ASL dan MOF cenderung mencampurkan manajemen sumber daya bersama dengan proses lainnya, sehingga dibutuhkan tindakan manajemen yang sangat hati-hati
Dari perbandingan di atas, dapat digambarkan bahwa masing-masing framework yang dibahas kali ini memiliki perbedaan yang menonjolkan ciri khas masing-masing framework tersebut, baik itu dari segi pola aktivitas, teknik pengelolaan dan sebagainya. Namun tidak dipungkiri bahwa semuanya memiliki tujuan yang sama, yaitu untuk membantu usaha dalam memaksimalkan manajemen layanan SI. Maka dapat dikatakan bahwa semua framework manajemen layanan SI sangatlah berguna bagi pemaksimalan tiap bagian dari manajemen layanan SI yang dilakukan sehari-hari, apapun itu bentuk layanannya.

E. Sumber

http://aslbislfoundation.org/asl/
https://technet.microsoft.com/en-us/library/bb497036.aspx
https://blogs.itb.ac.id/dudi4studi/2012/10/03/cobit-5-hanya-untuk-tatakelola-dan-manajemen-teknologi-informasi-perusahaan/
http://www.isaca.org/COBIT/Pages/default.aspx