KECERDASAN BUATAN DAN MANFAAT
Latar Belakang
Kecerdasan buatan (artificial intelligence) merupakan inovasi baru di bidang ilmu pengetahuan. Mulai ada sejak muncul komputer modern, yakni pada 1940 dan 1950. Ini kemampuan mesin elektronika baru menyimpan sejumlah besar info, juga memproses dengan kecepatan sangat tinggi menandingi kemampuan manusia.
Kecerdasan buatan mungkin satu dari perkembangan yang paling penting di abad ini. Hal ini akan memengaruhi kehidupan negara-negara yang memainkan peranan penting dalam perkembangan kecerdasan buatan, yang kemudian muncul sebagai negara-negara adikuasa.
Pentingnya kecerdasan buatan menjadi nyata bagi negara-negara yang berperan sejak tahun 1970. Para pemimpin negara yang mengakui potensialnya kecerdasan buatan mengharap mendapat persetujuan jangka panjang untuk sumber-sumber yang memerlukan dana intensif. Jepang adalah yang pertama kali melakukan itu. Negara ini mengembangkan program yang sangat berambisi dalam penelitian kecerdasan buatan.
Sejarah Kecerdasan Buatan
Pada awal abad 17, Rene Descartes mengemukakan bahwa tubuh hewan bukanlah apa-apa melainkan hanya mesin-mesin yang rumit. Blaise Pascal menciptakan mesin penghitung digital mekanis pertama pada 1642. Pada 19, Charles Babbage dan Ada Lovelace bekerja pada mesin penghitung mekanis yang dapat diprogram.
Bertrand Russell dan Alfred North Whitehead menerbitkan Principia Mathematica, yang merombak logika formal. Warren McCulloch dan Walter Pitts menerbitkan "Kalkulus Logis Gagasan yang tetap ada dalam Aktivitas " pada 1943 yang meletakkan pondasi untuk jaringan syaraf.
Tahun 1950-an adalah periode usaha aktif dalam AI. Program AI pertama yang bekerja ditulis pada 1951 untuk menjalankan mesin Ferranti Mark di University of Manchester (UK): sebuah program permainan naskah yang ditulis oleh Christopher Strachey dan program permainan catur yang ditulis oleh Dietrich Prinz. John McCarthy membuat istilah "kecerdasan buatan " pada konferensi pertama yang disediakan untuk pokok persoalan ini, pada 1956. Dia juga menemukan bahasa pemrograman Lisp. Alan Turing memperkenalkan “Turing Test” sebagai sebuah cara untuk mengoperasionalkan test perilaku cerdas. Joseph Weizenbaum membangunELIZA, sebuah chatterbot yang menerapkan psikoterapi Rogerian
. Selama tahun 1960-an dan 1970-an, Joel Moses mendemonstrasikan kekuatan pertimbangan simbolis untuk mengintegrasikan masalah di dalam program Macsyma, program berbasis pengetahuan yang sukses pertama kali dalam bidang matematika. Marvin Minsky dan Seymour Papert menerbitkan Perceptrons, yang mendemostrasikan batas jaringan syaraf sederhana dan Alain Colmerauer mengembangkan bahasa komputer Prolog. Ted Shortliffe mendemonstrasikan kekuatan sistem berbasis aturan untuk representasi pengetahuan dan inferensi dalam diagnosa dan terapi medis yang kadangkala disebut sebagai sistem pakar pertama. Hans Moravec mengembangkan kendaraan terkendali komputer pertama untuk mengatasi jalan berintang yang kusut secara mandiri.
Pada Pada tahun 1980-an, jaringan syaraf digunakan secara meluas dengan algoritma perambatan balik, pertama kali diterangkan oleh Paul John Werbos pada 1974. Tahun 1990-an ditandai perolehan besar dalam berbagai bidang AI dan demonstrasi berbagai macam aplikasi. Lebih khusus Deep Blue, sebuah komputer permainan catur, mengalahkan Garry Kasparov dalam sebuah pertandingan 6 game yang terkenal pada tahun 1997. DARPA menyatakan bahwa biaya yang disimpan melalui penerapan metode AI untuk unit penjadwalan dalam Perang Teluk pertama telah mengganti seluruh investasi dalam penelitian AI sejak tahun 1950 pada pemerintah AS.
Tantangan Hebat DARPA, yang dimulai pada 2004 dan berlanjut hingga hari ini, adalah sebuah pacuan untuk hadiah $2 juta dimana kendaraan dikemudikan sendiri tanpa komunikasi dengan manusia, menggunakan GPS, komputer dan susunan sensor yang canggih, melintasi beberapa ratus mil daerah gurun yang menantang.
Definisi Kecerdasan Buatan
Tidak ada definisi yang memuaskan untuk kecerdasan. Kecerdasan dapat diartikan sebagai kemampuan untuk memperoleh pengetahuan dan menggunakannya atau kecerdasan adalah apa yang di ukur oleh sebuah ”test kecerdasan”.
Apa kecerdasan buatan itu? Bagian dari ilmu pengetahuan komputer ini khusus ditujukan dalam perancangan otomatisasi tingkah laku cerdas dalam sistem kecerdasan komputer. Sistem memperlihatkan sifat-sifat khas yang dihubungkan dengan kecerdasan dalam kelakuan atau tindak-tanduk yang sepenuhnya bisa menirukan beberapa fungsi otak manusia, seperti pengertian bahasa, pengetahuan, pemikiran, pemecahan masalah, dan lain sebagainya.
Kecerdasan Buatan (Artificial Intelligence) didefinisikan sebagai kecerdasan yang ditunjukkan oleh suatu entitas buatan. Sistem seperti ini umumnya dianggap komputer. Kecerdasan diciptakan dan dimasukkan ke dalam suatu mesin (Komputer) agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia. Beberapa macam bidang yang menggunakan kecerdasan buatan antara lain sistem pakar, permainan komputer (games), logika fuzzy, jaringan syaraf dan robotika.
Walaupun AI memiliki konotasi fiksi ilmiah yang kuat, AI membentuk cabang yang sangat penting pada ilmu komputer, berhubungan dengan perilaku, pembelajaran dan adaptasi yang cerdas dalam sebuah mesin. Penelitian dalam AI menyangkut pembuatan mesin untuk mengotomatisasikan tugas-tugas yang membutuhkan perilaku cerdas. Termasuk contohnya adalah pengendalian, perencanaan dan penjadwalan, kemampuan untuk menjawab diagnosa dan pertanyaan pelanggan, serta pengenalan tulisan tangan, suara dan wajah. Hal-hal seperti itu telah menjadi disiplin ilmu tersendiri, yang memusatkan perhatian pada penyediaan solusi masalah kehidupan yang nyata. Sistem AI sekarang ini sering digunakan dalam bidang ekonomi, obat-obatan, teknik dan militer, seperti yang telah dibangun dalam beberapa aplikasi perangkat lunak komputer rumah dan video game.
Paham Pemikiran kecerdasan buatan
Secara garis besar, AI terbagi ke dalam dua faham pemikiran yaitu AI Konvensional dan Kecerdasan Komputasional (CI, Computational Intelligence). AI konvensional kebanyakan melibatkan metoda-metoda yang sekarang diklasifiksikan sebagai pembelajaran mesin, yang ditandai dengan formalisme dan analisis statistik. Dikenal juga sebagai AI simbolis, AI logis, AI murni dan AI cara lama (GOFAI, Good Old Fashioned Artificial Intelligence). Metoda-metodanya meliputi:
Sistem pakar: menerapkan kapabilitas pertimbangan untuk mencapai kesimpulan. Sebuah sistem pakar dapat memproses sejumlah besar informasi yang diketahui dan menyediakan kesimpulan-kesimpulan berdasarkan pada informasi-informasi tersebut.
Pertimbangan berdasarkan kasus
Jaringan Bayesian
AI berdasar tingkah laku: metoda modular pada pembentukan sistem AI secara manual
Kecerdasan komputasional melibatkan pengembangan atau pembelajaran iteratif (misalnya penalaan parameter seperti dalam sistem koneksionis. Pembelajaran ini berdasarkan pada data empiris dan diasosiasikan dengan AI non-simbolis, AI yang tak teratur dan perhitungan lunak. Metoda-metoda pokoknya meliputi:
Jaringan Syaraf: sistem dengan kemampuan pengenalan pola yang sangat kuat
Sistem Fuzzy: teknik-teknik untuk pertimbangan di bawah ketidakpastian, telah digunakan secara meluas dalam industri modern dan sistem kendali produk konsumen.
Komputasi Evolusioner: menerapkan konsep-konsep yang terinspirasi secara biologis seperti populasi, mutasi dan “survival of the fittest” untuk menghasilkan pemecahan masalah yang lebih baik.
Metoda-metoda ini terutama dibagi menjadi algoritma evolusioner (misalnya algoritma genetik) dan kecerdasan berkelompok (misalnya algoritma semut).
Dengan sistem cerdas hibrid, percobaan-percobaan dibuat untuk menggabungkan kedua kelompok ini. Aturan inferensi pakar dapat dibangkitkan melalui jaringan syaraf atau aturan produksi dari pembelajaran statistik seperti dalam ACT-R. Sebuah pendekatan baru yang menjanjikan disebutkan bahwa penguatan kecerdasan mencoba untuk mencapai kecerdasan buatan dalam proses pengembangan evolusioner sebagai efek samping dari penguatan kecerdasan manusia melalui teknologi.
Macam – Macam Kecerdasan Buatan
Ada banyak jenis kecerdasan buatan, setidaknya ada lima jenis kecerdasan buatan yang sering kita temui, yaitu :
Jaringan Syaraf Buatan (Artificial Neural Networks),
Merupakan sekelompok jaringan saraf (neuron) buatan yang menggunakan model matematis atau komputasi untuk pemrosesan informasi berdasarkan pendekatan terhubung pada komputasi. Pada kebanyakan kasus, JST merupakan sistem adaptif yang merubah strukturnya berdasarkan informasi eksternal maupun internal yang mengalir melalui jaringan tersebut.
Logika Fuzzy (Fuzzy Logics)
Algoritma Genetik (Genetic Algorithms),
Algoritma Genetik biasanya digunakan dibidang kedokteran, misal untuk menganalisis DNA.
Robotika (Robotics),
AI ini banyak digunakan di pabrik. Biasanya dibuat untuk melakukan kegiatan otomatisasi, misal dalam PLC (Programmable Logic Contro
Permainan Komputer (Games),
AI jenis ini yang paling disukai oleh anak-anak, misal untuk memainkan game Age of Mythology atau Counter Strike.
Daftar Pustaka
Pitowarno. 2004. “Kecerdasan Buatan dalam Robotik”. [serial on line]. http://serial buku robotic kecerdasan buatan.htm
Wikipedia. 2007. “Jaringan Saraf Tiruan” [serial on line]. http://serial Wikipedia.com
Wikipedia. 2007. “Kecerdasan Buatan” [serial on line]. http://serial Wikipedia.com
Kristanto.2005. ”Kecerdasan Buatan” [serial on line]. http://www.komputansi.lipi.go.id
Rajasekaran, S. dan G.A. Vijayalakshmi Pai, 2003, “Neural Network, Fuzzy Logic, and Genetic Algoritms ; Syntesis and Application“, Prentice-Hall of India, New delhi.
Aplikasi Office Automation (OA)
Aplikasi OA adalah aplikasi yang akan melakukan otomatisasi proses bisnis yang sebelumnya dilakukan secara manual (document-driven) menjadi otomatis (electronic-driven) sehingga dokumen yang dipergunakan dalam proses bisnis tidak lagi dalam bentuk hardcopy, melainkan dalam bentuk elektronik.
Secara umum aktivitas-aktivitas yang terdapat pada aplikasi OA dapat berupa:
• Nota dinas
• Sistem cuti
• Perjalanan dinas (travel)
• Procurement
Fungsionalitas OA
Berikut adalah fungsionalitas/fitur-fitur yang terdapat pada aplikasi OA:
1. Mengelola dokumen masuk (incoming document)
Dokumen yang masuk, baik elektronik maupun dokumen fisik (di-scan terlebih dahulu), akan diidentifikasi sesuai dengan pengkategoriannya dan diteruskan sesuai dengan bisnis proses atau alur kerja yang ditentukan.
2. Mengelola dokumen keluar (outgoing document)
Aplikasi OA menyediakan template yang terintegrasi dengan MS office bagi user untuk membuat dokumen keluar, seperti nota dinas, cuti, dll. Persetujuan dilakukan secara elektronis dengan digital signature dan time-stamp.
3. Mengelola dan memonitor perjalanan proses dokumen
Dokumen berjalan secara otomatis setelah dilakukan persetujuan (approval) oleh SDM yang telah ditentukan otoritasnya.
4. Mengelola pengkategorian dokumen
Dokumen yang masuk dan keluar akan selalu dikategorikan agar dapat diidentifikasi dan diteruskan sesuai dengan bisnis proses atau alur kerja yang ditentukan.
5. Pendelegasian tugas/wewenang
Memungkinkan pendelegasian tugas/wewenang kepada orang yang ditunjuk pada periode waktu tertentu untuk mempercepat perjalanan proses dokumen.
Keunggulan OA
Berikut adalah advantage/keunggulan aplikasi OA:
1. Dapat beroperasi secara WAN (terhubung mulai dari kantor wilayah sampai ke ranting)
2. Penyimpanan dan pengaksesan sumber informasi secara real-time online
3. Open system atau dapat diintegrasikan dengan sistem aplikasi lain, misalnya aplikasi Enterprise Resource Planning (ERP)
4. Aplikasi berbasis Web untuk kemudahan akses tanpa dihalangi oleh masalah waktu dan lokasi
5. Notifikasi dan reminder yang terintegrasi dengan mail system
6. Terintegrasi dengan form MS Office
7. Terintegrasi client data source dan server data source
Keuntungan OA
Berikut adalah benefit/keuntungan yang dapat diperoleh dari aplikasi OA:
1. Service Improvement
Peningkatan pelayanan terhadap pelanggan dan rekan bisnis dapat lebih ditingkatkan karena proses bisnis tidak lagi dilakukan secara manual, melainkan secara otomatis/elektronis.
2. Revenue Improvement
Dengan aplikasi OA, kinerja/performansi SDM yang terlibat dalam alur kerja yang terkait dapat dimonitor serta waktu yang dibutuhkan dalam memproses suatu perkerjaan menjadi lebih cepat sehingga konsumen lebih kompetitif dalam menjalankan bisnisnya. Akibatnya akan pula meningkatkan revenue perusahaan.
3. Cost Reduction
Aplikasi OA dapat mengurangi biaya penggunaan kertas (paperless) dan beberapa alat-alat kantor lainnya yang masih seringkali diandalkan untuk proses penyetujuan permohonan karena semuanya dilakukan secara otomatis (electronic-driven). Konsumen, dalam hal ini utility company, pun tidak perlu mengeluarkan biaya investasi karena semua perangkat dan local support disediakan oleh ICON+.
4. SDM Improvement
SDM dapat lebih fokus pada proses bisnis, bukan pada bagaimana mengarsipkan dokumentasi. Konsumen juga dapat lebih berkonsentrasi pada core bisnisnya karena operasional dan maintenance OA menjadi tanggung jawab ICON+.
Aspek pengenbangan perangkat lunak
1. Efektif dan Efisien dalam Pengembangan Maupun Penggunaan Media Pembelajaran
“Kok lambat yach?”
“Petunjuk Pemakaian: matikan seluruh program lain, karena program ini perlu memory 1GB untuk dapat dijalankan”
“Program besar sekali, menghabiskan space di komputer!”
Seringkali sebuah program yang sepertinya berukuran kecil dan memiliki fitur yang tidak terlalu rumit, tetapi berjalan sangat lamban. Kalau seandainya saja setiap komputer memiliki kecepatan yang tidak terbatas dan memory (RAM) yang bebas tidak terbatas, maka tentu tidak akan menjadi masalah. Tetapi setiap komputer memiliki kecepatan terbatas, memory (RAM) terbatas dan kapasitas penyimpanan tetap (hardisk) terbatas. Oleh karena itu, penting untuk mengatur pemakaian resource (CPU, RAM dan hardisk) tersebut secara efektif dan efisien. Kelambatan, rendahnya respon dan throughput biasanya terjadi karena pembuat tidak memikirkan efesiensi sumber daya yang terserap oleh program. Misalnya untuk pemakaian gambar-gambar yang ditampilkan dalam ukuran kecil, pembuat tetap menggunakan gambar asli yang beresolusi tinggi, tidak melakukan usaha-usaha kompresi dan pemotongan yang tepat. Sebaliknya, ada pula gambar yang seharusnya memakai resolusi tinggi, tetapi digunakan gambar yang beresolusi rendah.
Hal lain yang memungkinkan tidak efisiennya pemakaian resource adalah penggunaan algoritma yang kurang tepat Misalnya untuk pekerjaan pengurutan (sorting) sebuah kumpulan data, pembuat tidak memanfaatkan algoritma-algoritma sorting yang terkenal efektif seperti: insertion-sort, merge-sort dan lain-lain. Misalnya ada komputer A dengan kecepatan 100 kali lebih cepat dari komputer B, yang menjalankan algoritma yang berbeda untuk masalah yang sama. Kalau kita dapat memilih algoritma yang lebih tepat dan efisien di komputer B, maka program dapat saja berjalan lebih cepat 10 kali lipat di komputer B.
Salah satu kasus yang sering muncul adalah, karena terlalu bersemangat, pembuat media pembelajaran, menampilkan semua pustaka gambar yang ia miliki dan efek-efek animasi dan simulasi yang ia kuasai ke dalam media pembelajaran, meskipun mereka tidak terlalu penting dan efektif dalam membantu proses pembelajaran.
2. Reliabilitas (Kehandalan)
Murid: Pak, program ini kok sering hang ya?
Guru: Kenapa? Kapan errornya?
Murid: Gak tahu, tidak ada pesan error tuh.
Program dikatakan reliable atau handal bila program dapat berjalan dengan baik, tidak mudah hang, crash atau berhenti pada saat pengoperasian. Kehandalan program juga dinilai dari seberapa jauh dapat tetap berjalan meskipun terjadi kesalahan pada pengoperasian (error tolerance). Pengguna memerlukan feedback sesuai dengan kondisi system (termasuk berapa lama pengguna harus menunggu, dll).
3. Maintainabilitas (Dapat Dipelihara/Dikelola dengan Mudah)
“Good software is maintainable” (Reinhard Miller)
“It looks obvious until you try it” (IEEE Software)
“Programming is like poetry. It conveys a message, not only to the computer, but to those who modife and use your program” (Jonathan Bartlett)
Struktur program disusun dengan algoritma, alur penyajian, pengorganisasian, dan keterkaitan antar bagian sehingga mudah dalam modifikasi. Kode atau script tetap sederhana dan mudah dipahami meskipun menjalankan fungsi yang kompleks. Kode bersifat modular dengan dokumentasi pada tiap bagian yang memudahkan dalam modifikasi dan perubahan (maintenance). Sehingga siapa saja yang ingin merubah/memperbaiki/menambah fitur program dapat dengan mudah melakukannya. Selain penambahan fitur, hal yang sering dilakukan oleh programer adalah menemukan bug dalam programnya. Justru ada pernyataan bahwa membersihkan bug adalah 60% dari pekerjaan seorang programer.
Semakin sedikit code program yang Anda tuliskan, semakin kecil keperluan agar code atau program maintainable. Semakin banyak code program yang Anda tuliskan, semakin perlu Anda memikirkan maintainabilitas program Anda.
4. Usabilitas (Mudah Digunakan dan Sederhana dalam Pengoperasiannya)
Layaknya seoseorang yang bingung ketika baru pertama kali datang ke Jakarta dan ingin mencari alamat Jl. Jend. Gatot Subroto 10. Orang tersebut pasti merasa bingung untuk mencari alamat tersebut. Dalam kondisi bingung, orang tersebut tentu akan memanfaatkan marka jalan sebagai penunjuk arah. Dapat dibayangkan apabila di jalan raya tidak disediakan rambu-rambu lalu lintas dan marka jalan, tentu orang akan tersesat dan tidak tahu ke mana arah yang akan dituju. Begitu pula dengan media pembelajaran, ketersediaan tooltip, help, icon, logo, tombol, dsb akan sangat membantu pengguna yang baru pertama kali menggunakan media tersebut. Desain dan tata letak navigasi sangat membantu pengguna untuk memanfaatkan media tersebut. Apabila terjadi kesalahan pada program (error) maka ditampilkan pesan dengan bahasa yang mudah dipahami oleh pengguna.
Konsistensi bentuk dan letak navigasi juga mempengaruhi kenyamanan pengguna ketika menghayati informasi yang tersirat dalam media pembelajaran. Dengan hanya melihat tampilan awal, pengguna dapat mengetahui kondisi program dan dapat menentukan aksi-aksi alternatif. Semua pilihan dan bahan tampak sehingga mudah dicari bilamana diperlukan tanpa mengganggu pengguna dengan informasi yang berlebihan. Pengguna juga dapat dengan sangat mudah menebak, memperkirakan bahkan menentukan relasi antara aksi dan hasil, antara kontrol-kontrol dan efek yang ditimbulkannya, antara status software dan apa yang tampak.
5. Ketepatan Pemilihan Jenis Aplikasi/Software/Tool untuk Pengembangan
Karya media pembelajaran dikembangkan dengan aplikasi dan perangkat yang tepat sesuai dengan kebutuhan pengembang. Contohnya adalah untuk membuat desain grafis, tentu harus menggunakan perangkat lunak pengolah grafis, dan bukan perangkat lunak (aplikasi) yang diciptakan untuk mengolah kata. Contoh lain, untuk membuat presentasi, akan lebih mudah dikembangkan dengan perangkat lunak untuk membuat presentasi. Demikian juga tentang pemanfaatan tool yang tepat dan lebih mudah dalam pembuatan animasi, simulasi, test, dan fitur-fitur yang lain.
6. Kompatibilitas (Media Pembelajaran Dapat Diinstalasi/Dijalankan di Berbagai Hardware dan Software yang Ada)
Perkembangan software dan hardware sudah cukup banyak bervariasi, semakin tinggi spesifikasinya, semakin tinggi kecepatan prosesnya. Bila dulu kecepatan akses RAM paling tinggi 8 MB, saat ini kecepatannya berkali lipat hingga 1 GB, CD ROM yang dulu kecepatan bacanya paling tinggi 4X saat ini CD ROM sudah umum dan memiliki banyak fungsi dengan kapasitas kecepatan yang tinggi, seperti CD-RW dengan speed hingga 52X bahkan ada yang mampu membaca DVD, demikian juga dengan Software Aplikasi, bila dulu aplikasinya sederhana dan cukup panjang proses menjalankan berbagai aplikasi didalamnya, saat ini aplikasi sudah sangat indah dengan tampilan grafis yang baik dan animatif, dengan navigasi yang mudah dan cepat dalam proses menjalankan aplikasinya.
Belajar akan lebih baik, jika setiap orang bisa bekerja dimanapun tanpa ada hambatan spesifikasi komputer dan software yang dipersyaratkan untuk menjalankannya, oleh karenanya hasil karya yang baik kendaknya dapat dijalankan diberbagai kondisi hardware dan sofware yang beragam, artinya bisa dijalankan didalam spesifikasi komputer yang paling rendah sekalipun, bisa dijalankan dengan Operating System dengan platform apapun dan versi manapun, mulai dari yang awal hingga yang terbaru, dan software yang tidak dibatasi oleh versi keluaran baik versi awal maupun versi yang terbaru.
7. Pemaketan Program Media Pembelajaran Terpadu dan Mudah dalam Eksekusi
Media pembelajaran terpaket dengan baik. Proses instalasi berjalan secara otomatis dengan menggunakan Autorun. Dengan sekali install, program langsung dapat digunakan tanpa perlu melakukan instalasi lain satu persatu (plugin, dsb) atau proses rebooting komputer. Shorcut/icon secara otomatis muncul setelah proses instalasi dengan nama yang mudah diidentifikasi. Fitur untuk uninstall program disediakan untuk membantu pengguna apabila sudah tidak memerlukan program tersebut. Program dapat juga dikembangkan tanpa proses instalasi, artinya dengan satu klik semua berjalan dengan sendiri. Hal ini semakin memudahkan pengguna terutama untuk siswa-siswa yang kurang dalam mengenal komputer.
8. Dokumentasi Program Media Pembelajaran yang Lengkap
“Gimana nih cara instalasinya? Kok nggak panduannya?”
Pertanyaan ini muncul ketika media pembelajaran yang telah kita buat ternyata tidak dilengkapi dengan dokumentasi tentang cara instalasi dan cara penggunaan. Definisi rekayasa perangkat lunak menurut Ian Sommerville adalah:
“Program komputer dan dokumentasi yang berhubungan”
Jadi tidak boleh dilupakan bahwa sebutan perangkat lunak itu tidak hanya untuk program komputer, tetapi juga termasuk dokumentasi dan konfigurasi data yang berhubungan yang diperlukan untuk membuat program beroperasi dengan benar. Dengan definisi ini otomatis keluaran (output) produksi perangkat lunak disamping program komputer juga dokumentasi lengkap berhubungan dengannya. Ini yang kadang kurang dipahami oleh pengembang, sehingga menganggap cukup memberikan program yang jalan (running program) ke pengguna.
Dokumentasi media pembelajaran yang dibuat harus meliputi: petunjuk instalasi (jelas, singkat, lengkap), trouble shooting (jelas, terstruktur, dan antisipatif), desain program (jelas, menggambarkan alur kerja program). Dokumentasi, selain berorientasi ke kemudahan pengguna dengan adanya help, readme, panduan penggunaan, dsb, juga berorientasi pada pengembang yang diimplikasikan pada lengkapnya dokumentasi dan penjelasan pada kode program sehingga memudahkan dalam modifikasi.
9. Reusabilitas (Sebagian atau Seluruh Program Media Pembelajaran dapat Dimanfaatkan Kembali untuk Mengembangkan Media Pembelajaran Lain)
Eric S. Raymond, seorang tokoh programmer opensource mengatakan “Good programmers know what to write. Great ones know what to rewrite and reuse”. Setelah level membuat terlewati, seorang pengembang harus meningkatkan kemampuan diri untuk tidak hanya berorientasi membuat, tapi juga berorientasi ke bagaimana fitur dan fungsi program kita supaya dapat digunakan lagi di program lain dengan mudah. Bagaimana kita mendesain sebuah source code (kode sumber), icon, logo, tombol dan sebagainya sehingga dengan mudah dapat digunakan kembali (reuse) pada program media pembelajaran lain, itulah arti dari reusabilitas.
Template menu, icon, logo, tombol, dsb yang telah dibuat dapat dengan mudah digunakan untuk program lain. Library (DLL, API, dsb) juga dikemas dengan baik sehingga dapat dimanfaatkan oleh program lain. Program tersusun secara modular, hal ini mempermudah penggunaan kembali (reusabilitas).
REFERENSI
[1] J.A. McCall, P.K. Richards, and G.F. Walters, Factors in Software Quality, Tehnical Report RADC-TR-77-369, US Department of Commerce, 1977.
[2] T.P. Bowen, G.B Wigle, and J.T. Tsai, Specification of Software Quality Attributes: Software Quality Evaluation Guidebook, Technical Report RADC-TR-85-37, Rome Air Development Center, Griffiss Air Force Base, 1985.
[3] IEEE Standard Glossary of Software Engineering Technology, IEEE Std 610.12-1990, Institute of Electrical and Electronics Engineers, New York, 1990.
[4] Hans Van Vliet, Software Engineering - Principles and Practice, John Wiley & Sons, 2000.
[5] James F. Peters and Witold Pedrycz, Software Engineering: An Engineering Approach, John Wiley & Sons, 2000.
[6] Roger S. Pressman, Software Engineering: A Practitioner’s Approach Fifth Edition, McGraw-Hill, 2004.
[7] Ian Sommerville, Software Engineering 7th Edition, Addison-Wesley, 2004.
[8] Thomas H. Corment et.al., Introduction to Algorithms, Second Edition, MIT Press, 2002.
[9] CodeZar.Com,
Increase Maintainability
[10] Reinhard Müller,
Programmer̢۪s Style Guide
Expert Systems
Expert systems (sistem pakar) merupakan salah satu aplikasi artificial intelligence (AI) yang paling banyak digunakan. Expert systems (ES) adalah sistem informasi berbasis pengetahuan yang menggunakan pengetahuannya untuk bertindak sebagai konsultan ahli dalam area yang spesfik kepada pengguna. ES telah digunakan dalam berbagai bidang seperti kedokteran, teknik, ilmu fisika, dan bisnis. Sebagai contoh, ES digunakan untuk mendiagnosa penyakit, pencarian mineral, menganalisa senyawa kimia, dan perencanaan keuangan.
DECISION SUPPORT SYSTEM
Salah satu jenis sistem aplikasi yang sangat popular di kalangan manajemen perusahaan adalah Decision Support System atau disingkat DSS. DSS ni merupakan suatu sistem informasi yang diharapkan dapat membantu manajemen dalam proses pengambilan keputusan. Hal yang perlu ditekankan di sini adalah bahwa keberadaan DSS bukan untuk menggantikan tugas-tugas manajer, tetapi untuk menjadi sarana penunjang (tools) bagi mereka. DSS sebenarnya merupakan implementasi teori-teori pengambilan keputusan yang telah diperkenalkan oleh ilmu-ilmu seperti operation research dan management science. Hanya bedanya adalah bahwa jika dahulu untuk mencari penyelesaian masalah yang dihadapi harus dilakukan perhitungan iterasi secara manual (biasanya untuk mencari nilai minimum, maksimum, atau optimum), saat ini komputer PC telah menawarkan kemampuannya untuk menyelesaikan persoalan yang sama dalam waktu relatif singkat. Dalam kedua bidang ilmu di atas, dikenal istilah decision modeling, decision theory, dan decision analysis yang pada hakekatnya adalah merepresentasikan permasalahan manaje-men yang dihadapi setiap hari ke dalam bentuk kuantitatif (misalnya dalam bentuk model matematika). Contoh-contoh klasik dari persoalan dalam bidang ini adalah linear programming, game’s theory, transportation problem, inventory system, decision tree, dan lain sebagainya. Dari sekian banyak problem klasik yang kerap dijumpai dalam aktivitas bisnis perusahaan sehari-hari, sebagian dapat dengan mudah disimulasikan dan diselesaikan dengan menggunakan formula atau rumus-rumus sederhana. Tetapi banyak pula masalahan yang ada sangat rumit sehingga membutuhkan kecanggihan komputer.
Sprague dan Carlson mendefinisikan DSS dengan cukup baik, sebagai sistem yang memiliki lima karakteristik utama (Sprague et.al., 1993):
1) Sistem yang berbasis komputer;
2) Dipergunakan untuk membantu para pengambil keputusan;
3) Untuk memecahkan masalah-masalah rumit yang “mustahil” dilakukan dengan kalkulasi manual;
4) Melalui cara simulasi yang interaktif;
5) Dimana data dan model analisis sebagai komponen utama.
Karakteristik 4 dan 5 merupakan fasilitas baru yang ditawarkan oleh DSS belakangan ini sesuai dengan perkembangan terakhir kemajuan perangkat komputer.
KOMPONEN DECISION SUPPORT SYSTEM
Secara garis besar DSS dibangun oleh tiga komponen besar:
1) Database
2) Model Base
3) Software System
Sistem database berisi kumpulan dari semua data bisnis yang dimiliki perusahaan, baik yang berasal dari transaksi sehari-hari, maupun data dasar (master file). Untuk keperluan DSS, diperlukan data yang relevan dengan permasalahan yang hendak dipecahkan melalui simulasi.
Komponen kedua adalah Model Base atau suatu model yang merepresentasikan permasalahan ke dalam format kuantitatif (model matematika sebagai contohnya) sebagai dasar simulasi atau pengambilan keputusan, termasuk di dalamnya tujuan dari permasalahan (obyektif), komponen-komponen terkait, batasan-batasan yang ada (constraints), dan hal-hal terkait lainnya.
Kedua komponen tersebut untuk selanjutnya disatukan dalam komponen ketiga (software system), setelah sebelumnya direpresentasikan dalam bentuk model yang “dimengerti” komputer .
Contohnya adalah;
Penggunaan teknik RDBMS (Relational Database Management System), OODBMS (Object Oriented Database Management System) untuk memodelkan struktur data. Sedangkan MBMS (Model Base Management System) dipergunakan untuk mere-presentasikan masalah yang ingin dicari pemecahannya. Entiti lain yang terdapat pada produk DSS baru adalah DGMS (Dialog Generation and Management System), yang merupakan suatu sistem untuk memungkinkan terjadinya “dialog” interaktif antara komputer dan manusia (user) sebagai pengambil keputusan.
JENIS-JENIS DSS
Aplikasi DSS yang ditawarkan di pasar sangat beraneka ragam, dari yang paling sederhana (quick-hit DSS) sampai dengan yang sangat kompleks (institutional DSS). “Quick-Hit DSS” biasanya ditujukan untuk para manajer yang baru belajar menggunakan DSS (sebagai pengembangan setelah jenis pelaporan yang disediakan oleh MIS = Management Information System, satu level sistem di bawah DSS). Biasanya masalah yang dihadapi cukup sederhana (simple) dan dibutuhkan dengan segera penyelesaiannya. Misalnya untuk kebutuhan pelaporan (report) atau pencarian informasi (query). Sistem yang sama biasa pula dipergunakan untuk melakukan analisa sederhana. Contohnya adalah melihat dampak yang terjadi pada sebuah formulasi, apabila variabel-variabel atau parameter-parameternya diubah. Di dalam perusahaan, DSS jenis ini biasanya diimplementasikan dalam sebuah fungsi organisasi yang dapat berdiri sendiri (berdasarkan data yang dimiliki fungsi organisasi tersebut). Misalnya adalah DSS untuk menyusun anggaran tahunan, DSS untuk melakukan kenaikan gaji karyawan, DSS untuk menentukan besanya jam lembur karyawan, dan lain sebagainya.
“Institutional DSS” merupakan suatu aplikasi yang dibangun oleh para pakar bisnis dan ahli DSS. Sesuai dengan namanya, DSS jenis ini biasanya bekerja pada level perusahaan, dimana data yang dimiliki oleh masing-masing fungsi organisasi telah diintegrasikan (dibuat strukturnya dan didefinisikan kaitankaitannya).
Contohnya adalah DSS untuk memprediksi pendapatan perusahaan di masa mendatang (forecasting) yang akan mensimulasikan data yang berasal dari Divisi Sales, Divisi Marketing, Divisi Logistik dan Divisi Operasional. Contoh implementasi yang tidak kalah menariknya adalah suatu sistem, dimana jika manajemen memiliki rencana untuk mem-PHK-kan beberapa karyawannya, akan dapat disimulasikan dampaknya terhadap neraca profit-and-loss perusahaan. Contoh aplikasi penggunaan DSS lain yang paling banyak digunakan di dalam dunia bisnis adalah untuk keperluan analisa marketing, operasi logistik dan distribusi, serta masalah-masalah yang berkaitan dengan keuangan dan akuntansi (taxation, budgeting, dsb.).
SISTEM BERBASIS GRAFIK
Dalam merepresenasikan DSS agar mudah dipergunakan dan dimengeri oleh user (dalam hal ini adalah manajer perusahaan), format grafik mutlak dipergunakan untuk melengkapi teks yang ada. Contoh-contoh model grafik yang populer dipergunakan adalah sebagai berikut:
Time Series Charts – untuk melihat dampak sebuah variable terhadap waktu;
Bar Charts – untuk memperbandingkan kinerja beberapa entiti;
Pie Charts – untuk melihat komposisi atau persentasi suatu hal;
Scattered Diagrams – untuk menganalisa hubungan antara beberapa variabel;
Maps – untuk merepresentasikan data secara geografis;
Layouts – untuk menggambarkan lokasi barang secara fisik, seperti pada bangunan dan kantor;
Hierarchy Charts – untuk menggambarkan struktur organisasi;
Sequence Charts – untuk merepresentasikan sesuatu dengan logika yang tersetruktur (contohnya adalah diagram flowchart); dan
Motion Graphics – untuk memperlihat-kan perilaku dari variabel yang diamati
denvan cara animasi.
Jenis-jenis grafik di atas biasanya dapat ditampilkan dalam dua macam format: dua dimensi dan tiga dimensi.
PERKEMBANGAN DSS
DSS yang saat ini populer untuk digunakan adalah yang berbasis tabel atau spreadsheets, karena para manajer sudah terbiasa membaca data dengan cara tersebut. Tabel inilah yang menjadi media manajer dalam “mengkutak-katik” (mengganti atau merubah) variabel yang ada, di mana hasilnya akan ditampilkan dalam format grafik yang telah dijelaskan sebelumnya. Untuk keperluan ini, biasanya sebuah stand-alone PC sudah cukup untuk mengimplementasikannya. Sejalan dengan perkembangan teknologi informasi, telah banyak ditawarkan aplikasi DSS yang bekerja dalam infrastruktur jaringan (LAN, WAN, Intranet, Internet, dsb.). Beberapa manajer pengambil keputusan dihubungkan satu dengan lainnya melalui jaringan komputer, sehingga dapat saling mempertukarkan data dan informasi untuk keperluan pengambilan keputusan. Bahkan sudah ada DSS yang diperlengkapi dengan expert system (dibuat berdasarkan teori kecerdasan buatan = artifial intelligence), sehingga keputusan bisnis secara langsung dapat dilakukan oleh komputer, tanpa campur tangan manusia. Siapkah perusahaan mengimplementasikan sistem ini?
Contoh Program Apllikasi DSS
Contoh Program DSS antara lain;
1. Menggunakan Microsoft Access
2. Menggunakan Microsoft Excel
3. Menggunakan VB for Office
4. Menggunakan MYOB
Penjelasan
Kalau menggunakan Microsoft Access
Kelebihannya ini softwarenya mudah didapat dan cara proses pengerjaannya juga hampir sama dengan microsoft yang lain sehingga dalam memperdalaminya tidak terlalu sulit.
Microsoft Excel
Cara kerja microsoft ini dapat membuat keputusan dalam mencari nilai rata-rata, seperti program SPSS
kernel
Abstract
Kernel is software communication betwen computer application and hardware, it enabled system service like mmemory management for running poccess, management file, input-output from device and still more other added function. The point kernel is mediator betwen software and hardware. In this case we will try explane how does kernel work as operating system, recompile kernel as needed, kernel format, and kernel was linux basic as GPL application GPL (General Public License).
Abstrak
Kernel adalah sebuah perangkat lunak yang membuat komunikasi / mediator antara aplikasi komputer dan perangkat keras, yang menyediakan pelayanan sistem seperti pengaturan memori untuk proses-proses yang sedang berjalan, pengaturan file-file, input-output terhadap dan dari suatu device dan masih banyak lagi fungsi tambahan yang lainnya. Intinya adalah kernel merupakan suatu penghubung (antara software dan hardware). Dalam makalah ini penulis mencoba untuk mengemukakan bagaimana cara kerja kernel sebagai sistem operasi, mengkompile ulang kernel untuk suatu kebutuhan, format dari kernel , serta berbagai dasar dasar kernel Linux sebagai aplikasi GPL (General Public License).
1. Pendahuluan
Kernel merupakan inti dari Operating System berisikan instruksi- instruksi yang bertindak sebagai mediator antara hardware dengan software. Kernel baru pada umumnya menawarkan dukungan yang lebih banyak terhadap berbagai jenis hardware,memiliki manajemen proses yang lebih baik, berjalan lebih baik dari versi sebelumnya, dan lebih stabil karena adanya perbaikan pada bug-bug yang ditemukan pada versi sebelumnya.
2. Format Kernel
Kernel sebagai jantungnya sistem operasi menyediakan format yang sesuai dengan kebutuhan anda. Sebelum kita memilih kernel sebaiknya kita dapat menentukan terlebih dahulu, kira-kira format kernel yang bagaimana yang sesuai dengan kebutuhan yang diinginkan. Sistem kernel ada berupa Modular dan Monolitik ,sebagai contoh jika sering gonta-ganti hardware, sistem kernel yang modular akan lebih cocok daripada sistem kernel yang builtin (monolitik). Kedua system ini mempunyai keuntungan dan kelebihan masing-masing,
2.1 Kernel Modular
Seperti pada kernel Linux mempunyai rancangan modular. Pada saat boot time, hanya minimal resident kernel yang di-load ke dalam memori. Ini di karenakan hanya modul-modul yang dibutuhkan saja serta di inginkan user yang akan diproses, sebuah modul kernel dapat secara dinamik di-load ke dalam memori. Kemudian secara periode spesifik modul tidak ingin di aktifkan maka modul dapat di hapus dari memori. Mekanisme dynamic loading ini dinamakan kmod. Dengan kata lain modul tidak akan di-load apabila tidak diinginkan dan modul akan di gunakan apabila di butuhkan. Salah satu keuntungan kernel yang bersifat modular, gonta-ganti hardware menjadi lebih mudah, karena tinggal menge-probe suatu modul, atau jika belum ada hanya tinggal mem-build satu modul saja. Kerugiannya adalah relatif rentan terhadapat masalah security, karena biasanya script kiddies memasukkan suatu modul ke dalam kernel (dengan harapan proses yang dimilikinya tidak diketahui oleh admin sistem yang bersangkutan)
2.2 Kernel buildin(Monolitik)
Dengan Kernel monolitik lebih baik dari segi security, sebuah kernel builtin (monolitik) akan relatif aman. Namun dari segi kemudahan, jika kita menambah atau mengganti suatu hardware, maka otomatis harus mengkompilasi ulang kernel .Namun demikian, skema kernel bagaimana yang lebih sesuai, itu bisa diklarifikasi sesuai kebutuhan dan implementasi sistem yang digunakan. Jika kernel monolitik ingin di jadikan modular, itu bisa dilakukan oleh dari kernel monolitik, dengan cara setelah konfigurasi ditetapkan dalam kernel monolitik dan di kompilasi maka dapat di ambil, bagian-bagian mana saja yang akan dipisahkan untuk dijadikan modul-modul.
3. Kompilasi Modul Kernel
Apabila kita akan menambahkan suatu modul ke dalam kernel maka kita dapat melakukan kompilasi ulang kernel. Modul merupakan bagian dari kode kernel yang tidak secara langsung dimasukan kedalam kernel. Modul dapat di masukan atau dihilangkan kedalam kernel yang sedang berjalan kapanpun diperlukan. Modul biasanya digunakan untuk mendukung pekerjaan yg tidak di gunakan terus-menerus. misal, jika kita tidak membutuhkan dukungan networking sepanjang waktu, seperti ppp,maka lebih baik ppp dijadikan sebagai modul. ketika kita memerlukannya (untuk koneksi ke isp) modul kita panggil dan setelah selesai koneksi modul dapat kita matikan. penerapan modul seperti ini akan mengurangi jumlah memori yang di butuhkan kernel sehingga mempercepat operasi.
3.1 Konfigurasi Kernel
Ada 3 command yang dapat digunakan untuk mengkonfigurasi kernel
1. config (text-based)
2. menuconfig (text-based menu)
3. xconfig (under X )
Diantara ketiga cara tersebut, yang biasa dipakai adalah “menuconfig“. karena memiliki tampilan yang lebih menarik dan lebih fleksibel dalam konfigurasi daripada cara pertama (config). Untuk memilih modul dalam menuconfig di tunjukan dengan tanda (dengan menekan tombol m pada keyboard), jika menandakan modul ini tidak digunakan. tanda < *> atau [*] (dengan menekan tombol y) digunakan untuk menyertakannya secara langsung kedalam kernel. Selama melakukan konfigurasi perubahan dapat dilakukan dengan ditandakan atau diberi tanda [*]. Apabila ada hal-hal tertentu yang memang benar-benar tidak dibutuhkan oleh konfigurasi komputer yang akan dipakai, tanda bintangnya di hapus (biar tidak terbawa disaat kompilasi berlangsung). Atau dapat melakukan penambahan penandaan sesuai kebutuhan, misal [*] untuk menggunakan modul, penandaan untuk kebutuhan networking dengan < *>.
Gambar1. Skema representatif antara “user space�? dan “kernel space�?
Dalam gambar 1 garis yang menghubungkan berbagai komponen dengan kernel ( dengan peralatan perangkat keras ) mengindikasikan bahwa setiap komponen secara lansung berinteraksi. Seperti contoh TCP/IP stack mengirim paket jaringan melalui code path TCP atau UDP , tetapi kedua tipe paket ini ini pada akhirnya di handel oleh IP layer. Dalam gambar, “VFS” berada pada Virtual Filesystem layer, yang secara ringkas serta detail ada pada tipe filesystem (seperti sebagai ext2fs dan ISO-9660, seperti yang di tampilkan) dari aplikasi user. Ini maksudnya adalah bahwa aplikasi ini butuh tidak mengetahui apa tipe filesystem yang di akses bila sebuah file dibuka, dibaca, ditulis dan seterusnya. Sedangkan “IPC” merupakan Interprocess Communication dan termasuk bermacam-macam mekanisme proses untuk “berkomunikasi�? satu sama lainnya dalam aktivitasnya. Komponen yang berlabel “SMP” adalah shared-memory multiprocessing yang mendukung Linux-kernel,yang digunakan sistem dengan multiple CPUs.
3.2 Utilitas Modul
Berikut ini adalah utilititas yang dapat gunakan pada system operasi linux dalam menangani modul
1. lsmod digunakan untuk melihat modul yang telah di load. contoh: # lsmod
2. depmod digunakan untuk membuat dependency list modul-modul yang ada kepada sistem. contoh: # depmod -a
Bila anda tidak menjalankan perintah ini anda tidak dapat me-load modul. perintah “depmod -a” menghasilkan file /lib/modules/2.0.xx/modules.dep yang berisi daftar keterkaitan modul terhadap modul yang lainnya.
3. modprobe digunakan untuk load/unload modul ;contoh: # modprobe -r msdos.o –>untuk unload modul (menghapus) ;contoh: # modprobe msdos.o –> untuk load modul command “modprobe msdos.o” bila dilihat dengan “lsmod” akan nampak seperti:
Module Pages Used by
msdos 2 0
fat 6 [msdos] 0
Perhatikan modul fat juga di-load, padahal perintah modprobe hanya diperintahkan untuk me-load modul msdos. hal ini terjadi karena adanya ketergantungan modul, modul msdos memerlukan modul fat.
File-file (modul) seperti msdos.o bisa dilihat di /lib/modules/2.0.xx/
4. kerneld merupakan daemon yang secara otomatis me-load dan unload modul. dengan menggunakan kerneld kita tidak perlu lagi menggunakan modprobe (untuk load/unload modul) secara manual karena daemon ini telah menanganinya secara otomatis. kita dapat mengecek apakah “kerneld” telah bekerja dengan baik.
4. Kernel Waktu Nyata
Banyak sistem embedded yang memiliki kebutuhan untuk berperilaku sebagai sebuah sistem waktu-nyata (real-time system). Pada sistem waktu nyata, waktu memegang peranan yang penting. Ketepatan kalkulasi atau kecermatan aksi tidak akan berarti apa-apa jika dilakukan pada saat yang keliru, atau “a late answer is a wrong answer�?. Sistem waktu nyata lazim dijumpai di dunia industri. Sebagai contoh, pengatur arah peluru kendali mesti dapat mengoreksi laju dan arah terbangnya sehingga tetap menuju target. Keterlambatan sepersekian detik bisa mengakibatkan peluru tersebut nyasar ke ruang kosong. Dalam hal ini antisipasi secepat-cepatnya menjadi kunci akurasinya. Sebuah mesin otomatis untuk mengemas botol minuman harus dapat memasangkan tutup botol tepat kepada botolnya. Dalam sebuah sistem berjalan, ketepatan ini diatur dengan waktu. Dengan kata lain, jika waktu pemasangan tutup botol tidak tepat, hasilnya akan percuma karena botolnya tidak akan berada pada lokasi yang tepat. Salah satu hal penting yang diperhatikan pada saat merancang sistem waktu-nyata adalah deadline atau tenggat operasi yang diijinkan. Selama pemrosesan atau kalkulasi yang dilakukan dapat dipaksa untuk diselesaikan sebelum deadline tersebut lewat, maka sifat waktu-nyata sistem tersebut bisa dijamin. Sebagai ilustrasi, sebuah player MP3 harus dapat melakukan encoding musik format MP3 tersebut menjadi sinyal audio yang dinikmati melalui earphone atau speaker. Tentu saja, proses encoding tersebut harus lebih cepat dari alunan musiknya sendiri. Untuk kualitas HiFi, ini berarti encoding mesti mensuplai data audio sebanyak 44100 kali per detik. Bila memproses sepotong data audio menyita waktu lebih dari 1/44100 detik, musik tidak bisa didengar secara real-time. Bayangkan, bagaimana caranya menikmati sebuah lagu - yang durasi aslinya 4 menit – jika diputar selama 10 menit ? .Meskipun mulanya tidak dirancang sebagai sistem waktu nyata, Linux dapat ‘diakali’ sehingga dapat bekerja pada lingkungan yang mengharuskan persyaratan sistem waktu-nyata. Setidaknya, ada beberapa pendekatan yang bisa digunakan
Gambar 2. Hubungan Sub-Kernel dengan linux
Sub-kernels dibuat dengan 3 kategori: 1) patching sebuah kernel linux untuk menyediakan beberapa keterkaitan seperti penambahan fungsionalitas 2) modifikasi untuk menghandel interrupt 3) membuat loadable modules untuk menyediakan bagian API dan fungsionalitas.
Sub-kernels menyediakan sebuah API untuk digunakan oleh tugas real-time. APIs menyediakan urutan yang menyerupai POSIX, fungsi POSIX lainnya dan penambahan fungsi yang unik. Penggunaan sub-kernels dimaksudkan bahwa tugas real-time menggunakan APIs yang lebih familiar bagi para programmer Linux , tetapi mereka menerapkan secara terpisah dan terkadang berbeda.
Interrupt handling dimodifikasi oleh patching bagian utama kernel . patch-nya sendiri merubah fungsi, seperti contoh , patch digunakan biasanya untuk disable interrupts. Apabila kernel dan drivers dalam sub-tree linux di recompiled, mereka tidak secara aktual untuk menghentikan interrupts. Karena drivers di-compile terpisah dari header yang dimodifikasi untuk disable- interrupts dan menghalangi teknik real-time. Sebaiknya gunakan non standard code untuk sebuah interrupt-disabling. Instruksi Bahasa assembly mungkin bisa digunakan untuk menanganinya. Dalam prakteknya hal ini merupakan situasi yang tidak terelakan untuk menangani solusi real-time.
5. Kesimpulan
Kernel merupakan mediator penghubung antara Software dan Hardware. Kernel dapat di-recompile ulang sesuai dengan kebutuhan perangkat keras yang ingin kita pakai, untuk me-recompile ulang kernel dapat di pilih apakah ingin menggunakan kernel Modular atau kernel Mololitik, dalam pemakaiannya kernel bergantung kepada pengguna sendiri modul apa yang akan digunakan. Kernel juga sangat baik digunakan sebagai real-time yang menjembatani aplikasi dan kebutuhan waktu nyata yang interrupt-nya dapat di ubah dengan modifikasi Header-nya menggunakan kernel-source-tree.