Pelayanan Rawat Inap Bahasa Pemrograman Java

6

BAB II DASAR TEORI

2.1 Pelayanan Rawat Inap

Pelayanan rawat inap merupakan salah satu bentuk pelayanan rumah sakit yang memberikan pelayanan kepada pasien yang perlu menginap untuk keperluan observasi, diagnosis, pengobatan, bagi individu dengan keadaan medis tertentu, pada kasus bedah, kebidanan, penyakit kronis atau rehabilitasi yang memerlukan perawatan dokter setiap hari. Sedangkan DepKes 1991 membatasi pelayanan rawat inap adalah layanan terhadap pasien masuk rumah sakit yang menempati tempat tidur untuk keperluan observasi, diagnosis, terapi, rehabilitasi medis dan atau pelayanan medis lainnya Antin Yohana. 2006

2.2 Sistem Pakar

Sistem pakar adalah perangkat lunak komputer yang menggunakan pengetahuan aturan-aturan tentang sifat dari suatu unsur masalah, fakta dan teknik inferensi untuk masalah yang biasanya membutuhkan kemampuan seorang ahli Marimin, 2005. Pengetahuan yang digunakan dalam sistem pakar terdiri dari akidah-kaidah rules atau informasi dari pengalaman tentang tingkah laku suatu unsur dari suatu gugus persoalan. Kaidah-kaidah biasanya memberikan deskripsi tentang kondisi yang diikuti oleh akibat dari prasyarat tersebut. Tujuan perancangan sistem pakar adalah untuk mempermudah kerja atau bahkan menggantikan tenaga ahli, penggabungan ilmu dan pengalaman dari beberapa tenaga ahli, training tenaga ahli baru, penyediaan keahlian yang diperlukan oleh suatu proyek yang tidak ada atau tidak mampu membayar tenaga ahli. Hal tersebut dapat dipahami secara rasional, karena kaderisasi tenaga ahli dalam suatu organisasi sangat diperlukan, terutama untuk badan usaha yang mempunyai keterbatasan dana untuk menyediakan tenaga ahli. Penggabungan ilmu dan pengalaman para tenaga ahli bukan merupakan pekerjaan yang mudah, khususnya untuk tenaga ahli yang berbeda dalam bidang 7 keahlian. Dalam hal ini sistem pakar dirancang untuk menyimpan dan menggunakan ilmu serta pengalaman dari satu atau beberapa tenaga ahli. Untuk itu sustu sistem pakar yang mempunyai kapasitas besar diperkirakan mampu memecahkan suatu persoalan yang tidak dapat dipecahkan oleh satu atau sekelompok kecil tenaga ahli [10:12-13].

2.2.1 Ciri dan Karakteristik Sistem Pakar

Ada berbagai ciri dan karakteristik yang membedakan sistem pakar dengan sistem yang lain. Ciri dan karakteristik ini menjadi pedoman utama dalam pengembangan sistem pakar. Ciri dan karakteristik yang dimaksud antara lain [2:1-3]: 1. Pengetahuan sistem pakar merupakan suatu konsep, bukan berbentuk numeris. Hal ini dikarenakan komputer melakukan proses pengolahan data secara numerik sedangkan keahlian dari seorang pakar adalah fakta dan aturan-aturan, bukan numerik. 2. Informasi dalam sistem pakar tidak selalu lengkap, subyektif, tidak konsisten, subyek terus berubah dan tergantung pada kondisi lingkungan sehingga keputusan yang diambil bersifat tidak pasti dan tidak mutlak “ya” atau “tidak” akan tetapi menurut ukuran kebenaran tertentu. Oleh karena itu dibutuhkan kemampuan sistem untuk belajar secara mandiri dalam menyelesaikan masalah-masalah dengan pertimbangan-pertimbangan khusus. 3. Kemungkinan solusi sistem pakar terhadap suatu permasalahan adalah bervariasi dan mempunyai banyak pilihan jawaban yang dapat diterima, semua faktor yang ditelusuri memiliki ruang masalah yang luas dan tidak pasti. Oleh karena itu diperlukan sistem yang fleksibel dalam menangani kemungkinan solusi dari berbagai permasalahan. 4. Perubahan atau pengembangan pengetahuan dalam sistem pakar dapat terjadi setiap saat bahkan sepanjang waktu sehingga diperlukan kemudahan dalam modifikasi sistem untuk menampung jumlah pengetahuan yang semakin besar dan semakin bervariasi. 8 5. Pandangan dan pendapat setiap pakar tidak selalu sama, oleh karena itu tidak ada jaminan bahwa solusi sistem pakar merupakan jawaban yang pasti benar. Setiap pakar akan memberikan pertimbangan-pertimbangan berdasarkan faktor subyektif. 6. Keputusan merupakan bagian terpenting dari sistem pakar. Sistem pakar harus memberikan solusi yang akurat berdasarkan masukan pengetahuan meskipun solusinya sulit sehingga fasilitas informasi sistem harus selalu diperlukan. Blok diagram sistem pakar bisa dilihat pada Gambar 2.2. Pada gambar tersebut menjelaskan bahwa sistem pakar juga dapat dilihat dari sudut pandang lingkungan environment dalam sistem. Terdapat dua lingkungan yaitu lingkungan konsultasi dan lingkungan pengembangan. Lingkungan konsultasi diperuntukkan bagi pengguna non pakar untuk melakukan konsultasi dengan sistem yang tujuannya adalah mendapatkan nasehat pakar. Sedangkan lingkungan pengembangan ditujukan bagi pembangun sistem pakar untuk membangun komponen dan memasukkan pengetahuan hasil akuisisi pengetahuan ke dalam basis pengetahuan. 9 Gambar 2.1 Blok Diagram Sistem Pakar Sumber: [12:24] Secara umum sistem pakar biasanya terdiri atas beberapa komponen yang masing-masing berhubungan. Basis pengetahuan sistem pakar yang dibutuhkan untuk memahami, memformulasi, dan memecahkan masalah. Basis pengetahuan tersusun atas dua elemen dasar yaitu [11]: 1. Fakta Fakta disini misalnya situasi, konsisi dan kenyataan dari permasalahan yang ada, serta teori dalam bidang; sistem pakar diterapkan. 2. Aturan Aturan, yang mengarahkan penggunaan pengetahuan untuk memecahkan masalah yang spesifik dalam bidang yang khusus. Mesin inferensi inference engine merupakan otak dari sistem pakar. Mesin inferensi juga dikenal sebagai penerjemah aturan rule interpreter. Komponen ini berupa program komputer yang menyediakan suatu metodologi Pemakai Antarmuka Aksi yang direkomendasikan Fasilitas Penjelas Mesin Inferensi Workplace Perbaikan Pengetahuan Basis Pengetahuan : fakta dan aturan Knowledge Engineer Pakar LINGKUNGAN KONSULTASI LINGKUNGAN PENGEMBANGAN Fakta tentang kejadian tertentu 10 untuk memikirkan reasoning dan memformulasi kesimpulan. Kerja mesin inferensi meliputi [11]: 1. Menentukan aturan mana akan dipakai 2. Menyajikan pertanyaan kepada pemakai, ketika diperlukan. 3. Menambahkan jawaban ke dalam memori sistem pakar. 4. Menyimpulkan fakta baru dari sebuah aturan 5. Menambahkan fakta tadi ke dalam memori

2.2.2 Rule

Rule adalah sebuah struktur knowledge yang menghubungkan beberapa informasi yang sudah diketahui ke informasi lain sehingga dapat disimpulkan. Sebuah rule adalah sebuah bentuk knowledge yang prosedural. Dengan demikian yang dimaksud dengan sistem pakar berbasis rule adalah sebuah program computer untuk memproses masalah dari informasi spesifik yang terdapat dalam memori aktif dengan sebuah set dari rule dalam knowledge base, dengan menggunakan inference engine untuk menghasilkan informasi baru. Struktur rule secara logika menghubungkan satu atau lebih anteseden juga disebut premis yang terletak dalam bagian IF dengan satu atau lebih konsekuen juga disebut konklusi yang terletak dalam bagian THEN. Secara umum, sebuah rule dapat mempunyai premis jamak dihubungkan dengan pernyataan AND konjungsi pernyataan OR disjungsi atau kombinasi dari keduanya. Dalam sistem pakar berbasis aturan domain knowledge ditampung dalam sebuah set dari rules dan dimasukkan dalam basis sistem pengetahuan. Sistem menggunakan aturan ini dengan informasi selama berada dalam memori aktif untuk memecahkan masalah. Sistem pakar berbasis aturan mempunyai arsitektur yang dapat dijelaskan sebagai berikut [10:14-15]: 1. User interface Digunakan sebagai media oleh user untuk melihat dan berinteraksi dengan sistem. 2. Developer interface Media yang digunakan untuk mengembangkan sistem oleh engineer. 11 3. Fasilitas penjelasan Sub sistem yang berfungsi untuk menyediakan penjelesan dalam sistem reasoning. 4. Program eksternal 5. Program seperti basis data, spreadsheet, yang bekerja dalam mendukung keseluruhan sistem.

2.3 Logika Fuzzy

Logika fuzzy didasarkan pada logika Boolean yang umum digunakan dalam komputasi. Secara ringkas, teorema fuzzy memungkinkan komputer “berpikir” tidak hanya dalam skala hitam-putih 0 dan 1, mati atau hidup tetapi juga dalam skala abu-abu. Dalam Logika Fuzzy suatu preposisi dapat direpresentasikan dalam derajat kebenaran truthfulness atau kesalahan falsehood tertentu. Pada sistem diagnosis fuzzy peranan manusiaoperator lebih dominan. Pengiriman data dilaksanakan oleh operator ke dalam sistem. Ketika sistem memerlukan data tambahan. Selain itu operator dapat meminta atau menanyakan informasi dari sistem diagnosis berupa hasil konklusi atau prosedur detail hasil diagnosis oleh sistem. Dari sifat sistem ini, sistem diagnosis fuzzy dapat digolongkan pada sistem pakar fuzzy. Sistem pakar fuzzy adalah sistem pakar yang menggunakan notasi fuzzy pada aturan-aturan dan proses inference logika keputusan. Banyak sistem yang terlalu kompleks untuk dimodelkan secara akurat, meskipun dengan persamaan matematis yang kompleks. Dalam kasus seperti itu, ungkapan bahasa yang digunakan dalam logika kabur dapat membantu mendefinisikan karakteristik operasional sistem dengan lebih baik. Ungkapan bahasa untuk karakteristik sistem biasanya dinyatakan dalam bentuk implikasi logika. Misalnya aturan IF-THEN. Penerapan logika fuzzy dapat meningkatkan kinerja sistem kendali dengan menekan munculnya fungsi-fungsi liar pada keluaran yang disebabkan oleh 12 fluktuasi pada variabel masukan. Pendekatan logika fuzzy secara garis besar diimplementasikan dalam tiga tahapan yaitu [10:15-16]: 1. Tahap pengaburan fuzzification yakni pemetaan dari masukan tegas ke himpunan kabur. 2. Tahap inferensi, yakni pembangkitan aturan kabur. 3. Tahap penegasan defuzzification, yakni tranformasi keluaran dari nilai kabur ke nilai tegas. Gambar 2.2 Konsep Dasar Fuzzy Sumber:[13]

2.3.1 Himpunan Fuzzy

Himpunan fuzzy adalah konsep yang mendasari lahirnya logika fuzzy. Himpunan fuzzy adalah sebuah himpunan yang anggotanya memiliki derajat keanggotaan tertentu. Setiap anggota memiliki derajat keanggotaan tertentu yang ditentukan oleh fungsi keangotaan membership function tertentu atau disebut juga fungsi karakteristik characteristic function. Himpunan crisp adalah himpunan klasik yang telah dikenal secara umum. Himpunan crisp membedakan anggotanya dengan nilai nol atau satu, anggota himpunan atau bukan. Sebagai contoh himpunan crisp yaitu, pada himpunan manusia. Himpunan wanita atau laki-laki dapat dipresentasikan dengan mudah F u z if ic a ti o n Inference Mechanism Rule-base D e fu z if ic a ti o n Process Reference Input Fuzzy Controller Input Output 13 dengan cara himpunan klasik. Akan tetapi, bagaimana mempresentasikan himpunan pada manusia muda atau tua. Muda atau tua itu cukup relatif tidak langsung terpisah hanya karena berbeda satu hal. Dalam hal ini himpunan fuzzy dapat memberikan pengelompokan dengan memberi nilai dalam derajat tertentu. Berbeda dengan himpunan klasik, keanggotaan himpunan fuzzy dapat bernilai parsial [6:1]. Gambar 2.3 Perbandingan Fungsi Keanggotaan Himpunan Fuzzy Terhadap Crisp Sumber : [6:1] Fungsi keanggotaan didefinisikan sebagai berikut: Jika X adalah himpunan semesta, maka fungsi keanggotaan fungsi keanggotaanfungsi karakteristik A pada X yang didefinisikan oleh himpunan fuzzy A memiliki ketentuan berikut: ∶ → [0,1]………………………………………………………2-1 nilai [0,1] adalah interval bilangan real dari nol sampai dengan satu. Dua himpunan A dan B dinyatakan sama jika dan hanya jika x = x. Jika x bernilai nol, berarti x bukan anggota dari himpunan fuzzy A. Jika x bernilai satu, menunjukkan x adalah himpunan fuzzy A. Sementara nilai antara nol hingga X 1.0 0.0 Classical crips set A Fuzzy set Ā Membership function µx µx 14 satu menunjukkan bahwa x merupakan anggota dari himpunan fuzzy A secara parsial [6:1-2].

2.3.2 Fungsi Keanggotaan Fuzzy

Fungsi keanggotaan membership function adalah suatu kurva yang menunjukkan pemetaan titik-titik input data ke dalam nilai keanggotaannya sering juga disebut dengan derajat keanggotaan yang memiliki interval 0 sampai 1. Salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah menggunakan pendekatan fungsi. Macam-macam fungsi keanggotaan [10:16-17]: 1. Fungsi keanggotaan yang mempunyai parameter a, b, dan c dengan formulasi segitiga x: a, b, c = max{min{x –ab-a, c-xc-b}, 0}. Gambar 2.4 Fungsi Keanggotaan Segitiga Sumber: [10:17] dengan a, b, dan c merupakan parameter segitiga x: a, b, c. Fungsi Keanggotaan Kurva Segitiga: [ ] 0 ; ≤ ≥ ; ≤ ; …………………………………….…2-2 15 2. Fungsi keanggotaan yang mempunyai parameter a,b,c, dan d dengan formulasi Trapesium x; a, b, c, d = max{min{x-ab-a, 1, d-xd-c}, 0}. Gambar 2.5 Fungsi Keanggotaan Trapesium Sumber : [10:17] dengan a,b,c, dan d merupakan parameter trapesium x: a, b, c, d. Fungsi Keanggotaan Kurva Trapesium: [ ] 0 ; ≤ ≥ ; ≤ 1 ; ≤ ; …………………………..………….2-3

2.4 Fuzzy Inference System FIS Tsukamoto

Inferensi adalah proses penggabungan banyak aturan berdasarkan data yang tersedia. Komponen yang melakukan inferensi dalam sistem pakar disebut mesin inferensi. Dua pendekatan untuk menarik kesimpulan pada IF-THEN rule aturan jika-maka adalah forward chaining dan backward chaining [3:36].

2.4.1 Forward Chaining

Forward chaining mencari bagian JIKA terlebih dahulu. Setelah semua kondisi dipenuhi, aturan dipilih untuk mendapatkan kesimpulan. Jika kesimpulan 16 yang diambil dari keadaan pertama bukan dari keadaan yang terakhir, maka ia akan digunakan sebagai fakta untuk disesuaikan dengan kondisi aturan JIKA yang lain untuk mendapatkan kesimpulan yang lebih baik. Proses ini berlanjut hingga dicapai kesimpulan akhir.

2.4.2 Backward Chaining

Backward chaining adalah kebalikan dari forward chaining. Pendekatan ini dimulai dari kesimpulan dan hipotesis bahwa kesimpulan adalah benar. Mesin inferensi kemudian mengidentifikasi kondisi JIKA yang diperlukan untuk membuat kesimpulan benar dan mencari fakta untuk menguji apakah kondisi JIKA adalah benar. Jika semua kondisi JIKA adalah benar, maka aturan dipilih dan kesimpulan dicapai. Jika beberapa kondisi salah, maka aturan dibuang dan aturan berikutnya digunakan sebagai hipotesis kedua. Jika tidak ada fakta yang membuktikan bahwa semua kondisi JIKA adalah benar atau salah, maka mesin inferensi terus mencari aturan yang kesimpulannya sesuai dengan kondisi JIKA yang tidak diputuskan untuk bergerak satu langkah ke depan memeriksa kondisi tersebut. Proses ini berlanjut hingga suatu set aturan didapat untuk mencapai kesimpulan atau untuk membuktikan tidak dapat mencapai kesimpulan. Sistem inferensi fuzzy merupakan suatu kerangka komputasi yang didasarkan pada teori himpunan fuzzy, aturan fuzzy yang berbentuk IF-THEN, dan penalaran fuzzy. Secara garis besar, diagram blok proses inferensi fuzzy terlihat pada Gambar 2.6. 17 Gambar 2.6 Diagram Blok Sistem Inferensi Fuzzy Sumber: [3:37] Sistem inferensi fuzzy menerima input crisp. Data input kemudian dikirim ke basis pengetahuan yang berisi n aturan fuzzy dalam bentuk IF-THEN. Fire strength nilai keanggotaan anteseden atau α akan dicari pada setiap aturan. Apabila aturan lebih dari satu, maka akan dilakukan agregasi semua aturan. Selanjutnya pada hasil agregasi akan dilakukan defuzzy untuk mendapatkan nilai crisp sebagai output sistem. Salah satu metode FIS yang dapat digunakan untuk pengambilan keputusan adalah metodeTsukamoto. Pada metode Tsukamoto, implikasi setiap aturan berbentuk implikasi Sebab-AkibatImplikasi Input-Output yang antara anteseden dan konsekuen harus ada berhubungan. Setiap aturan direpresentasikan menggunakan himpunan-himpunan fuzzy, dengan fungsi keanggotaan yang monoton. Kemudian untuk menentukan hasil tegas crisp solution digunakan rumus penegasan defuzzifikasi yang disebut Metode rata-rata terpusat atau Metode defuzzifikasi rata-rata terpusat center average deffuzzyfier. Untuk lebih memahami metodeTsukamoto, perhatikan Contoh 2.1. Contoh 2.1: Misalkan ada 2 variabel input, Var-1 x dan Var-2x, serta variabel output, Var-3z, dimana Var-1 terbagi atas 2 himpunan yaitu A1 dan A2. Var-2 Input IF-THEN IF-THEN Agregasi Defuzzy Output Crips Aturan-1 Aturan-n Fuzzy Fuzzy Fuzzy Crips 18 terbagi atas 2 himpunan B1 dan B2, Var-3 juga terbagi atas 2 himpunan yaitu C1 dan C2 C1 dan C2 harus monoton. Ada 2 aturan yang digunakan, yaitu: [R1] IF x is A1 and y is B2 THEN z is C1 [R2] IF x is A2 and y is B1 THEN z is C2 Pertama-tama dicari fungsi keanggotaan dari masing-masing himpunan fuzzy dari setiap aturan, yaitu himpunan A1, B2 dan C1 dari aturan fuzzy [R1], dan himpunan A2, B1 dan C2 dari aturan fuzzy [R2]. Aturan fuzzy R1 dan R2 dapat direpresentasikan dalam Gambar 2.7 untuk mendapatkan suatu nilai crisp Z. Gambar 2.7 Inferensi dengan menggunakan MetodeTsukamoto Sumber: [3:39] Karena pada metode Tsukamoto operasi himpunan yang digunakan adalah konjungsi AND, maka nilai keanggotaan anteseden dari aturan fuzzy [R1] adalah irisan dari nilai keanggotaan A1 dari Var-1 dengan nilai keanggotaan B1 dari Var-2. Menurut teori operasi himpunan, maka nilai keanggotaan anteseden dari operasi konjungsi And dari aturan fuzzy [R1] adalah nilai minimum antara nilai 19 keanggotaan A1 dari Var-1 dan nilai keanggotaan B2 dari Var-2. Demikian pula nilai keanggotaan anteseden dari aturan fuzzy [R2] adalah nilai minimum antara nilai keanggotaan A2 dari Var-1 dengan nilai keanggotaan B1 dari Var-2. Selanjutnya, nilai keanggotaan anteseden dari aturan fuzzy [R1] dan [R2] masing-masing disebut dengan α 1 dan α 2. Nilai α 1 dan α 2 kemudian disubstitusikan pada fungsi keanggotaan himpunan C1 dan C2 sesuai aturan fuzzy [R1] dan [R2] untuk memperoleh nilai z1 dan z2, yaitu nilai z nilai perkiraan produksi untuk aturan fuzzy [R1] dan [R2]. Nilai output crispnilai tegas Z dapat diperoleh dengan cara mengubah input berupa himpunan fuzzy yang diperoleh dari komposisi aturan-aturan fuzzy menjadi suatu bilangan pada domain himpunan fuzzy tersebut. Cara ini disebut dengan metode defuzzifikasipenegasan. Metode defuzzifikasi yang digunakan dalam metode Tsukamoto adalah metode defuzzifikasi rata-rata terpusat center average defuzzyfier.

2.5 Bahasa Pemrograman Java

Bahasa pemrograman Java dikembangkan di Sun Microsystems dibawah pengawasan dari tokoh-tokoh dari Net yaitu James Gosling dan Bill Joy. Java didesain agar menjadi bahasa pemrograman yang independen terhadap jenis mesin machine-independent yang cukup aman untuk melintasi jaringan dan kuat untuk menggantikan kode executable asal. Sebagian besar antusiasme untuk Java pada awalnya tersentralisasi sekitar kapabilitasnya untuk membangun aplikasi tertanam embedded applications untuk World Wide Web; aplikasi ini disebut applets. Applets dapat menjadi program mandiri pada dirinya sendiri, atau front-end mutakhir pada program yang dijalankan pada server. Ketertarikan telah bergeser ke area lain akhir-akhir ini. Dengan Java 2, Java memiliki alat paling mutakhir untuk membangun antarmuka pengguna berbasis grafis graphical user interface; perkembangan ini membuat Java menjadi platform populer untuk mengembangkan perangkat lunak aplikasi tradisional. Java juga sudah menjadi platform penting untuk aplikasi sisi server, menggunakan antarmuka servlet, dan untuk aplikasi enterprise 20 menggunakan teknologi seperti Enterprise JavaBeans. Dan Java adalah pilihan platform untuk aplikasi terdistribusi modern. “Bibit” Java ditanam pada tahun 1990 oleh kepala peneliti Sun Microsystems yaitu Bill Joy. Sun telah mendorong suatu ide sejak permulaan Sun di awal tahun 1980: “Jaringan adalah computer”. Sun berkompetisi dalam workstation market yang relatif kecil pada waktu itu, sedangkan Microsoft memulai dominasi dari dunia PC berbasis Intel. Saat Sun ketinggalan dalam revolusi PC, Joy ditarik ke Aspen, Colorado, untuk bekerja pada penelitian yang lebih lanjut. Ia berkomitmen untuk menyelesaikan tugas kompleks dengan perangkat lunak sederhana, dan menemukan yang tepatnya disebut Sun Aspen Smallworks. Dari anggota asli tim programmer kecil yang dibentuk di Aspen, James Gosling yang akan diingat sebagai bapak Java. Gosling pertama kali melejitkan namanya di awal tahun 1980 sebagai penulis Gosling Emacs, versi pertama dari editor Emacs populer yang ditulis bengan bahasa C dan dijalankan dibawah Unix. Gosling Emacs menjadi populer, namun kemudian tertutup oleh versi gratis, GNU Emacs, yang ditulis oleh desainer asli Emacs. Gosling telah pindah untuk mendesain sistem window NeWS dari Sun pada waktu itu. Mendesain NeWS mengajarkan Gosling kekuatan dari integrasi bahasa ekspresif dengan network-aware windowing GUI. Hal tersebut juga mengajarkan Sun bahwa komunitas pemrograman internet akan menolak untuk menerima standar hak milik, tidak peduli seberapa bagus hal tersebut nantinya. “Bibit” dari skema lisensi permissive disebarkan oleh kegagalan NeWS. Gosling membawa apa yang telah ia pelajari ke proyek Aspen baru milik Bill Joy, dan pada 1992, bekerja pada proyek memimpin ke penemuan cabang Sun, FirstPerson, Inc. Misinya adalah untuk memimpin Sun menuju dunia elektronik consumer. Tim FirstPerson bekerja pada mengembangkan perangkat lunak untuk alat informasi, seperti telepon seluler dan personal digital assistants PDAs. Tujuannya adalah untuk meng-enable transfer informasi dan aplikasi real-time melalui infrared murah dan jaringan berbasis paket. Limitasi memori dan bandwidth mendiktekan kode kecil dan efisien. Basis dari aplikasi juga menuntut mereka untuk menjadi aman dan kuat. Gosling dan anggota timnya memulai 21 memrogram di C++, namun mereka kemudian terkepung dalam bahasa yang terlalu kompleks, berat, dan tidak aman untuk tugasnya. Mereka memutuskan untuk memulai dari awal, dan Gosling memulai bekerja pada sesuatu yang ia juluki “C++ minus minus”. Telah menjadi kenyataan bahwa bahtera PDA belum sampai dengan tenggelamnya Apple Newton, jadi Sun mengalihkan usaha FirstPerson ke TV interaktif ITV. Bahasa pemrograman terpilih untuk ITV merupakan nenek moyang dekat dari Java, yaitu Oak. Oak tidak mampu menyelamatkan penyebab hilangnya ITV bahkan dengan keeleganannya dan kemampuannya untuk menyediakan interaktifitas aman. Pelanggan tidak menginginkannya, dan Sun kemudian mengabaikan konsep tersebut. Joy dan Gosling berkolaborasi untuk memutuskan strategi baru untuk bahasa mereka pada waktu itu. Pada waktu itu di tahun 1993, terjadi ledakan interest di internet, khususnya World Wide Web, yang mempersembahkan kesempatan baru. Oak adalah bahasa pemrograman yang kecil, kuat, architecture-independent, dan berorientasi obyek. Selama hal tersebut terjadi, terdapat pula kebutuhan untuk bahasa pemrograman yang universal dan pandai- jaringan network-savvy. Sun dengan cepat mengubah fokus, dengan sedikit melengkapi kembali, Oak menjadi Java [4 : 10]

2.6 Metode SBAR