1
BAB I PENDAHULUAN
1.1.
Latar Belakang Masalah Seiring berkembangnya teknologi informasi dan komunikasi yang semakin
pesat, ada beberapa aplikasi telah dibangun dengan memanfaatkan fasilitas internet untuk kemudahan akses. Adapun salah satunya bagian dari ilmu komputer yang membuat agar mesin (komputer) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia. Semenjak
dalam
kandungan,
manusia
mulai
menjalani
proses
perkembangan. Perkembangan (development) adalah pertambahan kemampuan struktur dan fungsi tubuh yang lebih kompleks. Perkembangan menyangkut adanya proses diferensial sel-sel, jaringan, organ dan sistem organ yang berkembang sedemikian rupa sehingga masing-masing dapat memenuhi fungsinya. Sekarang, sebagian besar pakar perkembangan menyadari bahwa perkembangan berlangsung seumur hidup. Namun, perkembangan manusia yang paling pesat terjadi saat usia dini yaitu dari 0 sampai 5 tahun. Masa ini juga sering disebut fase “Golden Age”. Golden Age merupakan masa yang sangat penting untuk memperhatikan perkembangan anak secara cermat agar kelainan yang mungkin saja timbul pada anak dapat terdeteksi sedini mungkin. Selain itu penanganan kelainan yang sesuai pada masa Golden Age dapat meminimalisir kelainan perkembangan pada anak sehingga kelainan yang bersifat permanen dapat dicegah.
1
2
Salah satu bentuk gangguan perkembangan yang sering terjadi pada saat ini adalah Gangguan Perkembangan Pervasif atau sering juga disebut Gangguan Emosi dan Perilaku. Terutama autisme yang merupakan gangguan paling banyak terjadi pada anak usia dini. Untuk mendeteksi adanya gangguan perkembangan pervasif pada anak, diperlukan bantuan seorang psikolog. Psikolog akan mampu melihat gejala-gejala yang menunjukkan seorang anak menderita gangguan pervasif, melihat ciri-ciri fisik sang anak dan memberikan solusi penanganan yang tepat terhadap anak, jika ia terbukti secara medis mengalami gangguan perkembangan pervasif pada anak tersebut dapat diobati, sehingga tidak menimbulkan gangguan perkembangan yang lain, seperti gangguan perkembangan bahasa dan gangguan perkembangan motorik. Namun sayangnya masih banyak para orang tua yang merasa rendah diri ataupun malu untuk berkonsultasi secara langsung dengan seorang pakar untuk mendiskusikan keadaan anaknya yang menunjukkan perilaku ataupun emosi yang tidak normal. Hal ini dapat menghambat proses pendeteksian adanya gangguan perkembangan pervasif yang mungkin saja diderita oleh sang anak, padahal jika cepat terdeteksi akan sangat besar kemungkinan bagi anak untuk dapat sembuh dan tidak mengalami kompleksitas gangguan perkembangan. Mencermati hal-hal diatas, maka penulis ingin membuat suatu aplikasi pakar berjudul “Penerapan Forward Chaining Dan Backward Chaining Pada Aplikasi Diagnosa Gangguan Perkembangan Pervasif Anak Berbasis Web” yang dapat membantu para orang tua untuk mendeteksi sendiri apakah putra ataupun putrinya mengalami gangguan perkembangan pervasif, yang mana
3
sumber pengetahuannya berasal dari buku “Diagnostics and Statistical Manual of Mental Disorders-Fourth Edition (DSM-IV)”, dimana buku ini menjelaskan tentang kriteria diagnostik masing-masing gangguan perkembangan pervasif yaitu autisme, sindrom asperger, gangguan rett, gangguan disintegratif masa kanakkanak dan gangguan perkembangan lainnya. Selain itu pembuatan aplikasi ini juga bertujuan untuk mengetahui tindakan yang harus dilakukan untuk menangani penyakit tersebut sesuai dengan jenis gangguan yang diderita, dengan bantuan pakar perkembangan di dalam proses penyembuhannya. Walaupun sumber pengetahuan berasal dari buku “Diagnostics and Statistical Manual of Mental Disorders-Fourth Edition (DSM-IV)”, penulis tetap harus
berkonsultasi
dengan
pakar
perkembangan,
agar
aplikasi
yang
diimplementasikan sesuai dengan kaidah ilmu pengetahuan yang berlaku pada saat sekarang.
1.2.
Rumusan Masalah Berdasarkan uraian pada latar belakang masalah di atas, maka dapat
dirumuskan masalah yang akan diselesaikan yaitu : 1.
Bagaimana merancang dan membangun suatu aplikasi berbasis web untuk membantu user dalam mendeteksi adanya
gangguan
perkembangan pervasif pada anak dan mengetahui informasi tentang penyakitnya. 2.
Bagaimana
membangun
suatu
aplikasi
dengan
menggunakan
pendekatan metode forward chaining dan backward chaining.
4
1.3.
Tujuan Penelitian Dalam penyusunan Tugas Akhir ini tujuan yang akan dicapai yaitu sebagai
berikut : 1.
Memberikan suatu informasi kepada orang tua anak yang menderita gangguan perkembangan pervasif.
2.
Membuat aplikasi berbasis online menggunakan metode forward chaining dan backward chaining untuk mendiagnosa gangguan perkembangan pervasif.
1.4.
Batasan Masalah Dalam perancangan dan pembuatan aplikasi ini batasan-batasan atau ruang
lingkupnya yaitu : 1.
Penalaran sistem yang akan dirancang menggunakan metode forward chaining dan backward chaining.
2.
Gangguan yang diteliti oleh sistem hanya mencakup gangguan perkembangan emosi dan perilaku pada anak berusia dibawah tujuh tahun.
3.
Interaksi antara program dan user menggunakan pertanyaan yang diberikan melalui proses dialog yang memerlukan jawaban ya atau tidak dari user.
4.
Aplikasi ini ditujukan untuk kalangan nonparamedis.
5.
Hasil dari aplikasi ini hanya merupakan indikasi adanya gangguan, untuk
mendapatkan
diagnosa
yang
akurat,
berkonsultasi langsung dengan pakar perkembangan.
pengguna
harus
5
1.5.
Metode Penelitian 1. Pengumpulan Data a. Studi Literatur Pada tahap ini dilakukan studi literatur yaitu dengan mengumpulkan bahan-bahan referensi baik dari buku, artikel, paper, jurnal, makalah mengenai perancangan aplikasi pakar maupun mengenai gangguan perkembangan pervasif pada anak. b. Observasi Melakukan pengamatan terhadap objek yang akan diteliti , mencari data dan keterangan sebagai bahan penyusunan tugas akhir. c. Wawancara Wawancara melibatkan pembicaraan dengan pakar atau dokter ahli maupun orang tua pasien 3. Pengembangan Perangkat Lunak Metode pengembangan sistem dalam pembangunan Aplikasi Pakar Diagnosa Gangguan Perkembangan Pervasif Anak yang digunakan adalah model pemograman terstruktur. Model ini mengusulkan konsep atau sudut pandang pemrograman yang membagi program berdasarkan fungsi-fungsi atau prosedur yang dibutuhkan program. 4. Analisis dan Perancangan Sistem a. Perancangan knowledge base dan rule b. Pembuatan inference engine c. Perancangan user interface program aplikasi pada aplikasi pakar.
6
5. Implementasi Sistem Pada tahap ini akan diimplementasikan sistem yang telah dirancang ke dalam bahasa pemrograman PHP dan database MySQL. 6. Pengujian a. Mencoba dan menguji kinerja software aplikasi pakar yang telah dibuat. b. Mencari kelemahan yang masih ada pada software aplikasi pakar. c. Memperbaiki kelemahan atau bug yang ada, sehingga software aplikasi pakar bekerja dengan baik. d. Menguji keakuratan hasil konsultasi berdasarkan aturan yang telah dibuat. e. Menguji tingkat kemudahan seorang user menggunakan program aplikasi pakar. 7. Penyusunan Laporan Pada tahap ini dilakukan penyusunan laporan hasil perancangan sistem ke dalam format penulisan Skripsi.
1.6.
Sistematika Penulisan Agar penulisan menjadi lebih terstruktur, maka penulisan ini dibagi
menjadi lima bab, antara lain sebagai berikut : BAB I : Pendahuluan Bab ini membahas mengenai latar belakang masalah, perumusan masalah, tujuan penelitian, batasan masalah dan sistematika penulisan Tugas Akhir ini.
7
BAB II : Landasan Teori Bab ini membahas mengenai teori-teori apa saja yang menjadi tinjauan penulis dalam menyelesaikan penelitian ini diantaranya teori sistem pakar, metode forward chaining dan backward chaining dan gangguan perkembangan pervasif. BAB III : Analisis dan Perancangan Sistem Pada bab ini membahas tentang analisa yang dilakukan dalam merancang dan membuat sistem pakar yang meliputi perancangan Diagram Konteks, DFD (Data Flow Diagram), ERD (Entity Relational Diagram). BAB IV : Implementasi dan Pengujian Sistem Bab ini menjelaskan implementasi dari program yang telah dibuat meliputi lingkungan implementasi, implementasi proses dan implementasi antar muka. Adapun pelaksanaan uji coba dari program yang telah dibuat. BAB V : Penutup Bab ini berisi kesimpulan dan saran dari penulis untuk pengembangan sistem.
8
BAB II LANDASAN TEORI
2.1.
Aplikasi Aplikasi
berasal
dari
kata
application
yang artinya
penerapan,
penggunaan. Secara istilah aplikasi adalah program siap pakai yang direka untuk melaksanakan suatu fungsi bagi pengguna atau aplikasi yang lain dan dapat digunakan oleh sasaran yang dituju. 2.1.1. Pengertian Aplikasi Web Pada awalnya aplikasi web dibangun dengan hanya menggunakan bahasa yang disebut HTML (Hypertext Markup Language). Pada perkembangan berikutnya, sejumlah skrip dan objek dikembangkan untuk memperluas kemampuan HTML seperti PHP dan ASP dan Apllet pada objek. Aplikasi Web dapat dibagi menjadi dua jenis yaitu aplikasi web statis dan dinamis. Web statis dibentuk dengan menggunakan HTML. Kekurangan aplikasi seperti ini terletak pada keharusan untuk memelihara program secara terus menerus untuk mengikuti setiap perkembangan yang terjadi. Kelemahan ini diatasi oleh model aplikasi web dinamis. Pada aplikasi web dinamis, perubahan informasi dalam halaman web dilakukan tanpa perubahan program tetapi melalui perubahan data. Sebagai implementasi, aplikasi web dapat dikoneksikan ke basis data sehingga perubahan informasi dapat dilakukan oleh operator dan tidak menjadi tanggung jawab dari webmaster. Arsitektur aplikasi web meliputi klien, web server, middleware dan basis data. Klien berinteraksi dengan web server. Secara internal, web server
9
berkomunikasi dengan middleware adalah PHP dan ASP. Pada mekanisme aplikasi web dinamis, terjadi tambahan proses yaitu server menerjemahkan kode PHP menjadi kode HTML. Kode PHP yang diterjemahkan oleh mesin PHP yang akan diterima oleh klien.
2.2.
Kecerdasan Buatan Para Ilmuwan memiliki dua pandang yang berbeda tentang Artificial
Intelligence (kecerdasan buatan). Yang pertama adalah memandang AI sebagai bidang ilmu yang hanya focus pada proses berfikir. Sedangkan yang kedua adalah memandang AI sebagai bidang ilmu yang focus pada tingkah laku. Definisi AI yang paling tepat adalah acting rasionally dengan pendekatan rasional agent. Hal ini berdasarkan pemikiran bahwa komputer bisa melakukan penalaran secara logis dan juga bisa melakukan aksi secara rasional berdasrkan hasil penalaran tersebut. Saat ini, dengan semakin cepatnya perkembangan hardware dan software, berbagai produk AI telah berhasil dibangun dan digunakan
dalam
kehidupan
sehari-hari.
Dengan
teknologi
hardware
performansinya semakin tinggi dan berukuran kecil serta didukung teknologi software yang semakin beragam dan kuat (Suyanto, 2007) AI mempunyai banyak ruang lingkup atau bidang. Bidang sistem pakar merupakan salah satu penyelesaian pendekatan yang sangat berhasil/bagus untuk permasalahan AI klasik dari pemrograman intelligent (cerdas) (Muhammad Arhami).
10
2.3.
Sistem Pakar
2.3.1. Pengertian Sistem Pakar Sistem pakar adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer, agar komputer dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli. Sistem pakar yang baik dirancang agar dapat menyelesaikan suatu permasalahan tertentu dengan meniru kerja dari para ahli. Dengan sistem pakar ini, orang awam pun dapat menyelesaikan masalah yang cukup rumit yang sebenarnya hanya dapat diselesaikan dengan bantuan para ahli. Bagi para ahli, sistem pakar ini juga akan membantu aktivitasnya sebagai asisten yang sangat berpengalaman (Srikusumadewi, 2003). Sistem pakar merupakan program yang dapat menggantikan keberadaan seorang pakar. Alsan mendasar mengapa sistem pakar ini dikembangkan menggantikan seorang pakar adalah sebagai berikut : 1. Dapat menyediakan kepakaran setiap waktu dan di berbagai lokasi. 2. Secara otomatis mengerjakan tuugas-tugas rutin yang membutuhkan seorang pakar. 3. Seorang pakar akan pensiun atau pergi. 4. Menghadirkan atau menggunakan jasa seorang pakar memerlukan biaya yang mahal. 5. Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat (hostile environment). 2.3.2. Keuntungan Sistem Pakar Sistem pakar (Expert System) merupakan paket perangkat lunak atau paket program komputer yang ditujukan sebagai penyedia nasihat dan sarana bantu
11
dalam memecahkan masalah di bidang-bidang tertentu seperti sains, matematika, kedokteran, pendidikan dan sebagainya. Berikut ini beberapa keuntungan sistem pakar : 1. Dapat menghimpun data dalam jumlah yang sangat besar 2. Dapat menyimpan data tersebut untuk jangka waktu yang panjang dalam suatu bentuk tertentu 3. Dapat mengerjakan perhitungan secara cepat dan tepat dan secara tidak henti mencari kembali data yang tersimpan dengan kecepatan tinggi Kemampuan sistem pakar antara lain : 1. Menjawab berbagai pertanyaan yang menyangkut bidang keahliannya 2. Bila dibutuhkan, dapat menyajikan asumsi dan alur penalaran yang digunakan untuk mendapat jawaban yang diinginkan 3. Menambah fakta kaidah dan alur penalaran yang baru ke dalam mesin inferensinya Sistem pakar juga dapat memberikan banyak keuntungan, diantaranya : 1. Memungkinkan orang awam bisa mengerjakan pekerjaan para ahli 2. Bisa melakukan proses secara berulang secara otomatis 3. Menyimpan pengetahuan dan keahlian para pakar 4. Meningkatkan output dan kreatifitas 5. Meningkatkan kualitas 6. Mampu mengambil dan melestarikan keahlian para pakar 7. Mampu beroperasi dalam lingkungan yang berbahaya 8. Memiliki kemampuan untuk mengakses pengetahuan 9. Memiliki realibilitas
12
10. Meningkatkan kapabilitas sistem komputer 11. Memiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap dan mengandung ketidakpastian 12. Sebagai medis pelengkap dalam pelatihan 13. Meningkatkan waktu dalam pengambilan keputusan Selain keuntungan-keuntungan yang telah disebutkan di atas, sistem pakar seperti halnya sistem yang lain juga memiliki kelemahan diantaranya adalah : 1. Biaya yang diperlukan untuk membuat dan memeliharanya sangat mahal 2. Sulit dikembangkan. Hal ini tentu saja erat kaitannya dengan ketersediaan pakar dibidangnya. 3. Sistem pakar tidak 100% bernilai benar 2.3.3. Konsep Dasar Sistem Pakar Menurut Efrein Turban (2005), Pengetahuan dari suatu sistem pakar mungkin dapat direpresentasikan dalam sejumlah cara. Salah satu metode yang paling umum untuk merepresentasikan pengetahuan adalah bentuk tipe aturan (rule) IF..Then (Jika..maka). Walaupun cara diatas sangat sederhana, namun banyak hal yang berarti dalam membangun sistem pakar dengan mengekspresikan pengetahuan pakar dalam bentuk aturan diatas. Konsep dasar dari suatu sistem pakar mengandung bebrapa unsure/elemen, yaitu : 1. Keahlian Keahlian merupakan suatu penguasaan pengetahuan di bidang tertentu yang didapatkan dari pelatihan, membaca atau pengalaman 2. Ahli
13
Seorang ahli adalah seorang yang mampu menjelaskan suatu tanggapan, mempelajari hal-hal baru seputar Topik permasalahan (domain), menyusun kembali pengetahuan, memecah aturan-aturan jika diperlukan dan menentukan relevan tidaknya keahlian mereka 3. Pengalihan keahlian Pengalihan keahlian dari para ahli ke komputer untuk kemudian dialihkan lagi ke orang lain yang bukan ahli. Proses ini membutuhkan 4 aktifitas, yaitu : tambahan pengetahuan, representasi pengetahuan yang berupa fakta dan prosedur, inferensi pengetahuan dan pengalihan pengetahuan ke pengguana 4. Inferensi Mekanisme inferensi merupakan perangkat lunak yang melakukan penalaran
dengan
menggunakan
pengetahuan
yang
ada
untuk
menghasilkan suatu kesimpulan atau hasil akhir 5. Aturan Aturan merupakan informasi tentang cara bagaimana memperoleh fakta baru dari fakta yang telah diketahui 6. Kemampuan menjelaskan Kemampuan komputer untuk memberikan penjelasan kepada pengguna tentang suatu informasi tertentu dari pengguna dan dasar yang dapat digunakan oleh komputer untuk dapat menyimpulkan suatu kondisi. Mengidentifikasi pengetahuan yang digunakan dalam pengambilan keputusan atau pemecahan masalah merupakan komponen yang sangat penting
14
dari desain sistem pakar. Metodologi penelitian yang digunakan untuk komprehensif pengembangan sistem pakar berbasis rule adalah berikut :
Sastra survei perangkat lunak yang berbeda tersedia untuk pengembangan sistem pakar.
Lanjutan interaksi dan diskusi dengan para pendukung dan Guru di sekolah Hukum
Konseptualisasi aturan dalam format yang diperlukan
Implementasi dan pengujian aturan menggunakan VisiRule.
2.3.4. Ciri-Ciri Sistem Pakar Sistem pakar yang baik harus memiliki ciri-ciri sebagai berikut : 1. Memiliki fasilitas informasi yang handal, baik dalam menampilkan langkah-langkah antara maupun dalam menjawab pertanyaan-pertanyaan tentang proses penyelesaian 2. Mudah dimodifikasi, yaitu dengan menambah atau menghapus suatu kemampuan dari basis pengetahuannya 3. Heuristik
dalam
menggunakan
pengetahuan
untuk
mendapatkan
penyelesaiannya 4. Dapat digunakan dalam berbagai jenis komputer 5. Memiliki kemampuan untuk beradaptasi 2.3.5. Struktur Sistem Pakar Sistem pakar disusun oleh dua bagian utama, yaitu : lingkungan pengembangan
(development
environment)
dan
lingkungan
konsultasi
(consultation environment). Lingkungan pengembangan sistem pakar digunakan untuk memasukkan pengetahuan pakar kedalam lingkungan sistem pakar,
15
sedangkan lingkungan konsultasi digunakan oleh pengguna yang bbukan pakar guna memperoleh pengetahuan pakar (Sri Kusumadewi, 2003). 1. Antarmuka Pengguna (user interface) User Interface merupakan mekanisme yang digunakan oleh pengguna dan sistem pakar untuk berkomunikasi. Antarmuka menerima informasi dari pemakai dan mengubahnya ke dalam bentuk yang dapat diterima oleh sistem. Pada bagian ini terjadi dialog antara program dan pemakai, yang memungkinkan sistem pakar menerima instruksi dan informasi (input) dari pemakai, juga memberikan informasi (output) kepada pemakai. 2. Basis Pengetahuan Basis
pengetahuan
mengandung
pengetahuan
untuk
pemahaman,
formulasi dan penyelesaian masalah. Komponen sistem pakar ini disusun atas dua elemen dasar, yaitu fakta dan aturan. Fakta merupakan informasi tentang obyek dalam area permasalahan tertentu, sedangkan aturan merupakan informasi tentang cara bagaimana memperoleh fakta baru dari fakta yang telah diketahui. 3. Akuisisi Pengetahuan (knowledge acquisition) Akuisisi pengetahuan adalah akumulasi, transfer dan transformasi keahlian dalam menyelesaikan pengetahuan ke dalam program komputer. Dalam tahap ini knowledge engineer berusaha menyerap pengetahuan untuk selanjutnya di transfer ke dalam basis pengetahuan. Terdapat empat metode utama dalam akuisisi pengetahuan, yaitu : wawancara, analisis protocol, observasi pada pekerjaan pakar dan induksi aturan dari contoh.
16
4. Mesin Inferensi Mesin inferensi merupakan perangkat lunak yang melakukan penalaran dengan menggunakan pengetahuan yang ada untuk menghasilkan suatu kesimpulan atau hasil akhir. Dalam komponen ini dilakukan pemodelan proses berfikir manusia. 5. Workplace Workplace merupakan area dari sekumpulan memori kerja yang digunakan untuk merekam hasil-hasil dan kesimpulan yang dicapai. Ada tiga tipe keputusan yang direkam, yaitu : a) Rencana : Bagaimana menghadapi masalah b) Agenda : Aksi-aksi yang potensial yang sedang menunggu untuk eksekusi c) Solusi : Calon aksi yang akan dibangkitkan 6. Fasilitas Penjelasan Fasilitas penjelasan adalah komponen tambahan yang akan meningkatkan kemampuan sistem pakar. Komponen ini menggambarkan penalaran sistem kepada pemakai dengan cara menjawab pertanyaan-pertanyaan. 7. Perbaikan Pengetahuan Pakar memiliki kemampuan untuk menganalisis dan meningkatkan kinerjanya serta kemampuan untuk belajar dan kinerjanya. Komponen ini menggambarkan penalaran sistem kepada pemakai. 2.3.6. Bidang-Bidang Pengembangan Sistem Pakar Ada beberapa kategori pengembangan sistem pakar, antara lain :
17
1. Kontrol. Contoh pengembangan banyak ditemukan dalam kasus pasien di rumah sakit, dimana dengan kemampuan sistem pakar dapat dilakukan control terhadap cara pengobatan dan perawatan melalui sensor data atau kode alarm dan memberikan solusi terapi pengobatan yang tepat bagi pasien yang sakit. 2. Desain. Contoh sistem pakar di bidang ini adalah PEACE yang dibuat Dincbas untuk membantu desain pengembangan sirkuit elektronik dan sistem pakar yang membantu desain komputer dengan komponenkomponennya. 3. Diagnosis. Pengembangan sistem pakar terbesar dalah di bidang diagnosis, seperti diagnois penyakit, diagnosis kerusakan mesin kendaraan bermotor, diagnosis kerusakan komponen komputer, dan lain-lain. 4. Instruksi. Instruksi merupakan pengembangan sistem pakar yang sangat berguna dalam bidang ilmu pengetahuan dan pendidikan, dimana sistem pakar dapat memberikan instruksi dan pengajaran tertentu terhadap suatu objek permasalahan. Contoh pengembangan sistem pakar di bidang ini adalah sistem pakar untuk pengajaran astronomi, dan lain-lain. 5. Interpretasi. Sistem pakar yang dikembangkan dalam bidang interpretasi melakukan pemahaman akan suatu situasi dari beberapa informasi yang direkam. Contoh sistem yang dikembangkan dewasa ini adalah sistem untuk melakukan sensor gambar dan suara kemudian menganalisisnya dan kemudian membuat rekomendasi berdasarkan rekaman tersebut.
18
6. Monitor. Sistem pakar dalam bidang ini banyak digunakan militer, yaitu menggunakan sensor radar kemudian menganalisisnya dan menentukan posisi objek berdasarkan posisi radar tersebut. 7. Perencanaan. Perencanaan banyak digunakan dalam bidang bisnis dan keuangan suatu proyek, dimana sistem pakar dalam membuat perencanaan suatu pekerjaan berdasarkan jumlah tenaga kerja, biaya dan waktu sehingga pekerjaan menjadi lebih efisien. 8. Prediksi. Sistem pakar dapat memprediksi kejadian masa mendatang berdasarkan informasi dan model permasalahan yang dihadapi. Biasanya sistem memberikan simulasi kejadian masa mendatang tersebut, misalnya memprediksi tingkat kerusakan tanaman apabila terserang hama dalam jangka waktu tertentu. 9. Seleksi. Sistem pakar dengan seleksi mengidentifikasi pilihan terbaik dari beberapa daftar pilihan kemungkinan solusi. 10. Simulasi. Sistem ini memproses operasi dari beberapa variasi kondisi yang ada dan menmapilkannya dlam bentuk simulasi. Contoh yaitu program untukmenganalisis hama dengan berbagai kondisi suhu dan cuaca. 2.3.7. Representasi Pengetahuan Representasi pengetahuan merupakan metode yang digunakan untuk mengkodekan
pengetahuan
dalam
sebuah
sistem
pakar
yang
berbasis
pengetahuan. Perepresentasian dimaksudkan untuk menangkap sifat-sifat penting problema dan membuat informasi itu dapat diakses olehprosedur pemecahan problema.
19
Bahasa representasi harus dapat membuat seorang pemrogram mampu mengekspresikan pengetahuan yang diperlukan untuk mendapatkan solusi problema, dapat diterjemahkan ke dalam bahasa pemrograman dan dapat disimpan. Harus dirancang agar fakta-fakta dan pengetahuan lain yang terkandung didalamnya dapat digunakan untuk penalaran. 2.3.8. Model Representasi Pengetahuan Pengetahuan dapat direpresentasikan dalam bentuk yang sederhana atau kompleks, tergantung dari masalahnya. Beberapa model representasi pengetahuan yang penting, adalah : 1.
Logika (logic) Logika merupakan suatu
pengkajian ilmiah tentang serangkaian
penalaran, sistem kaidah, dan prosedur yang membantu proses penalaran. Logika merupakan representasi pengetahuan yang paling tua. Bentuk logika komputasional ada 2 macam, yaitu : a) Logika Proposional atau Kalkulus Logika proposional merupakan logika simbiotik untuk memanipulasi proposisi. Proposisi merupakan pernyataan yang dapat bernilai benar atau salah yang dihubungkan dengan operator logika diantaranya operator And (dan), Or (atau), Not (tidak), Implikasi (if..then), Bikondisional (if and only if). Contohnya : Jika hujan turun sekarang maka saya tidak akan ke pasar, dapat dituliskan dalam bentuk: ( p => q )
20
b) Logika Predikat Logika predikat adalah suatu logika yang seluruhnya menggunakan konsep dan kaidah proposional yang sama dengan rinci. Suatu proposisi atau premis dibagi menjadi dua bagian, yaitu: argument (objek) dan predikat (keterangan). Predikat adalah keterangan yang membuat argument dan predikat. Contohnya : Mobil berada dalam garis, dapat dinyatakan menjadi Di dalam (mobil,garasi). Di dalam = keterangan, mobil = argument, garasi = argumen 2.
Jaringan Semantik (semantic nets) Representasi jaringan semantic merupakan penggambaran grafis dari pengetahuan yang memperlihatkan hubungan hirarkis dari objek-objek yang terdiri atas simpul (node) dan penghubung (link). Contohnya : Merepresentasikan pernyataan bahwa semua komputer merupakan alat elektronik, semua PC merupakan komputer, dan semua komputer memiliki monitor. Dari pernyataan tersebut dapat diketahui bahwa semua PC memiliki monitor, hal ini dapat dilihat pada gambar 2.2 berikut ini :
3.
Object-Attribute-Value (OAV) Object dapat berupa bentuk fisik atau konsep, Attribute adalah karakteristik atau sifat dari object tersebut, Value (nilai) – besaran spesifik dari attribute tersebut yang berupa numeric, string atau boolean. Contoh : Object: mangga ; Attribute: berbiji ; Value: tunggal
21
4.
Bingkai (frame) Bingkai berupa ruang (slots) yang berisi atribut untuk mendeskripsikan pengetahuan yang berupa kejadian. Bingkai memuat deskripsi sebuah objek dengan menggunakan tabulasi informasi yang berhubungan dengan objek.
5.
Kaidah produksi (production rule) Kaidah menyediakan cara formal untuk merepresentasikan rekomendasi, arahan, atau strategi. Kaidah produksi dituliskan dalm bentuk jika-maka (if-then) yang menghubungkan anteseden dengan konsekuensi yang diakibatkannya. Berbagai struktur kaidah if-then yang menghubungkan obyek atribut adalah sebagai berikut : JIKA JIKA JIKA JIKA JIKA JIKA
premis MAKA konklusi masukan MAKA keluaran kondisi MAKA tindakan anteseden MAKA konsekuen data MAKA hasil tindakan MAKA tujuan
Dalam aturan-sistem berbasis, pengetahuan direpresentaiskan dalam bentuk aturan produksi. Sebuah aturan menjelaskan tindakan yang harus diambil jika gejala yang diamati. Hubungan empiris antara tempat dan kesimpulan dalam basis pengetahuan merupakan karakteristik utama mereka. Asosiasi-asosiasi ini menggambarkan cause effect hubungan untuk menentukan acara rantai logis yang digunakan untuk mewakili penyebaran fenomena yang kompleks. Arsitektur umum dari sistem ini mencakup domain independen seperti representasi aturan, mesin inferensi dan sistem penjelasan komponen.
22
2.3.9. Inferensi Inferensi merupakan proses untuk menghasilkan informasi dari fakta yang diketahui atau diasumsikan. Inferensi adalah konklusi logis (logical conclusion) atau implikasi berdasarkan informasi yang tersedia dalam hal ini akan digunakan metode inferensi dalam pengambilan kesimpulan. Ada dua metode inferensi yang penting Dalam sistem pakar untuk menarik kesimpulan, yaitu runut maju (forward chaining) dan runut balik (backward chaining) (Kusrini, 2008) 1. Forward Chaining Forward chaining merupakan proses perunutan yang dimulai dengan menampilkan kumpulan data atau fakta yang meyakinkan untuk menuju kesimpulan akhir. Forward Chaining biasa juga disebut atau pencarian yang dimotori oleh data (data driven search). Forward Chaining dimulai dari premis-premis atau informasi masukan (if) dahulu kemudian menuju kesimpulan atau derived information (then) atau dapat dimodelkan sebagai berikut : IF (informasi masukan) THEN (kesimpulan) Informasi masukan dapat berupa data, bukti, temuan atau gejala. Sedangkan kesimpulan dapat brupa tujuan, hipotesa, penjelasan atau diagnosis. Sehingga arah pencarian forward chaining dimulai dari data menuju tujuan, dari bukti menuju hipotesa, atau dari gejala menuju diagnose. Menurut Adedeji ada berbagai struktur kaidah if-then yang dapat menghubungkan obyek atau atribut antara lain sebagai berikut : IF premis THEN konklusi IF masukan THEN keluaran IF kondisi THEN tindakan
23
IF IF IF IF IF IF
anteseden THEN konsekuen data THEN hasil tindakan THEN tujuan aksi THEN reaksi sebab THEN akibat gejala THEN diagnose
Menurut Giarattano dan Riley metode forward chaining cocok digunakan untuk memecahkan masalah peramalan (prognosis). 2. Backward Chaining Backward chaining merupakan proses perunutan yang arahnya kebalikan dari runut maju. Proses penalaran runut balik dimulai dengan tujuan/goal kemudian merunut balik ke jalur yang akan mengarahkkan ke tujuan tersebut, mencari bukti bahwa kondisi-kondisi sebelumnya terpenuhi. Pencarian dengan metode backward chaining ini juga dikenal sebagai goal-driven reasoning karena pencarian dimulai dari pemilihan tujuannya kemudian mencari data-data yang menjadi alas an tujuan tersebut dapat tercapai. Menurut Schnupp metode inferensi backward chaining cocok digunakan untuk memecahkan masalah diagnosis. Pencarian backward chaining dapat dimodelkan sebagai berikut : Tujuan IF (kondisi) Dari sisi pengguna (user), mesin inferensi baik dengan menggunakan metode
backward
chaining
maupun
forward
chaining
tidak
kelihatan
perbedaannya, namun hal tersebut akan berbeda jika dilihat dari sisi pengembang sistem pakar. Kedua metode tersebut memiliki proses internal yang berbeda. Pada metode backward chaining, proses internal di dalam sistem selalu mengecek kesimpulan terlebih dahulu sebagai praduga awal, baru kemudian mengecek
24
apakah gejala-gejala yang ada dipenuhi pengguna atau tidak. Bila keseluruhan gejala tersebut terpenuhi, maka praduga sistem bernilai benar dan akan dikeluarkan sebagai output sistem pakar, namun bila ada gejala yang tidak terpenuhi berarti praduga sistem salah, dan selanjutnya sistem akanmengecek kesimpulan berikutnya. Hal ini berbeda dengan proses internal dalam pencarian forward chaining. Pada metode forward chaining, sistem tidak akan melakukan dugaan awal apapun, melainkan sistem akan menerima semua masukan data dari pengguna dan kemudian mengecek data-data tersebut memenuhi kesimpulan yang mana jika sudah ditemukan, maka kesimpulan tersebut akan dikeluarkan sebagai output sistem pakar.
2.4.
Penyakit Gangguan Perkembangan Pervasif Pada Anak Gangguan perkembangan pervasif adalah gangguan perkembangan yang
dicirikan oleh hendaya yang signifikan pada perilaku dan fungsi di berbagai area perkembangan. Gangguan ini umumnya menjadi tampak nyata pada tahun-tahun pertama kehidupan dan seringkali dihubungkan dengan retardasi mental. Gangguan ini dinilai merefleksikan bentuk kanak-kanak psikosis dari masa dewasa seperti skizofrenia karena memiliki cirri-ciri yang sama seperti hendaya social dan emosional yaitu keanehan dalam berkomunikasi dan perilaku motorik yang stereotip. Penelitian membuktikan bahwa kondisi ini berbeda dengan skizofrenia dan psikosis lainnya.
25
2.4.1. Autisme Autisme berasal dari kata “autos” yang berarti segala sesuatu yang mengarah pada diri sendiri. Dalam kamus psikologi umum, autism berarti preokupasi terhadap pikiran dan khayalan sendiri atau dengan kata lain lebih banyak berorientasi kepada pikiran subyektifnya sendiri dari pada meihat kenyataan atau realita kehidupan sehari-hari. Oleh karena itu penderita autisme sering disebut orang yang hidup di dunianya sendiri. Dulu anak-anak yang mengalami gangguan ini telah dideskripsikan dalam berbagai istilah seperti childhood schizophrenia (Bleuer). Autisme digolongkan sebagai gangguan perkembangan pervasif (pervasif developmental dis-orders), secara khas gangguan yang termasuk dalam kategori ini ditandai dengan distorsi perkembangan fungsi psikologis dasar majemuk yang meliputi perkembangan keterampilan social dan bahasa, seperti perhatian, persepsi, daya nilai terhadap realitas, dan gerakan-gerakan motorik. Autisme atau autisme infantil (early Infantile Autism) pertama kali dikemukakan oleh Dr. Leo Kanner 1943 seorang psikiatris Amerika. Istilah autisme dipergunakan untuk menunjukkan suatu gejala psikosis pada anak-anak yang unik dan menonjol yang sering disebut Sindrom Kanner (untuk membedakan dengan sindrom Asperger atau autis Asperger). Cirri yang menonjol pada sindrom Kanner antara lain ekspresi wajah yang kosong seolah-olah sedang melamun, kehilangan pikiran dan sulit sekali bagi orang lain untuk menarik perhatian mereka atau mengajak mereka berkomunikasi.
26
1. Gejala Autisme Secara umum ada beberapa gejala autisme yang akan tampak semakin jelas saat anak telah mencapai usia 3 tahun, yaitu : a. Gangguan dalam komunikasi verbal maupun non verbal seperti terlambat bicara, mengeluarkan kata-kata dalam bahasanya sendiri yang tidak dapat dimengerti, echolalia, sering meniru dan mengulang kata tanpa dimengerti maknanya, dan seterusnya. b.
Gangguan dalam bidang interaksi social, seperti menghindari kontak mata, tidak melihat jika dipanggil, menolak untuk dipeluk, lebih suka bermain sendiri, dan seterusnya.
c.
Gangguan pada bidang perilaku yang terlihat dari adanya perilaku yang berlebih (excessive) dan kekurangan (deficient) seperti impulsif, hiperaktif, repetitif namun dilain waktu terkesan pandangan kosong, melakukan permainan yang sama dan monoton. Kadang-kadang ada kelekatan pada benda tertentu seperti gambar, karet, boneka dan lain-lain yang dibawanya kemana-mana.
d.
Gangguan pada bidang perasaan atau emosi, seperti kurangnya empati, simpati, dan toleransi kadang-kadang tertawa dan marah sendiri tanpa sebab yang nyata dan sering mengamuk tanpa kendali bila tidak mendapatkan apa yang diinginkan.
e.
Gangguan dalam persepsi sensoris seperti mencium-mencium dan menggigit mainan atau benda, bila mendengar suara tertentu langsung menutup telinga, tidak menyukai rabaan dan pelukan dan sebgainya.
27
Gejala-gejala tersebut di atas tidak harus ada semuanya pada setiap anak autisme, tergantung dari berat-ringannya gangguan yang diderita anak. 2. Kriteria Diagnostik Autisme Secara detail menurut Diagnostics and Statistical Manual of Mental Disorders-Fourth Edition (DSM-IV), kriteria gangguan autisme adalah berikut : Harus ada total 6 gejala dari (1), (2) dan (3), dengan minimal 2 gejala dari (1) dan masing-masing 1 gejala dari (2) dan (3) : 1. Kelemahan kualitatif dalam interaksi social, yang termanifestasi dalam sedikitnya 2 dari beberapa gejala berikut ini: a. Kelemahan dalam penggunaan perilaku non-verbal, seperti kontak mata, ekspresi wajah, sikap tubuh, gerak tangan dalam interaksi sosial. b. Kegagalan dalam mengembangkan hubungan dengan teman sebaya sesuai dengan tingkat perkembangannya. c. Kurangnya kemampuan untuk berbagi perasaan dan empati dengan orang lain. d. Kurang mampu mengadakan hu bungan social dan emosional yang timbal balik. 2. Kelemahan kualitatif dalam bidang komunikasi. Minimal harus ada 1 dari gejala berikut ini : a. Perkembangan bahasa lisan (bicara) terlambat atau sama sekali tidak
berkembang
dan
anak
berkomunikasi secara non-verbal.
tidak
mencari
jalan
untuk
28
b. Bila anak bisa bicara, maka bicarnya tidak digunakan untuk berkomunikasi. c. Seiring menggunakan bahasa yang aneh, stereotype dan berulangulang. d. Kurang mampu bermain imajinatif (make believe play) atau permainan
imitasi
social
lainnya
sesuai
dengan
taraf
perkembangannya. 3. Pola perilaku serta minat dan kegiatan yang terbatas, berulang. Minimal harus ada 1 dari gejala berikut ini : a. Preokupasi terhadap satu atau lebih kegiatan dengan focus dan intensitas yang abnormal atau berlebihan b. Terpaku pada suatu kegiatan ritualistik atau rutinitas c. Gerakan-gerakan fisik yang aneh dan berulang-ulang seperti menggerak-gerakkan tangan, bertepuk tangan, menggerakan tubuh. d. Sikap tertarik yang sangat kuat atau preokupasi dengan bagianbagian tertentu dari obyek. Keterlambatan atau abnormalistik muncul sebelum usia 3 tahun minimal pada salah satu bidang (1) interaksi sosial, (2) kemampuan bahasa dan komunikasi, (3) cara bermain simbolik dan imajinatif. Bukan disebabkan oleh Sindroma Rett atau Gangguan Disintegratif Masa Anak. 3.
Penanganan Autisme Autisme adalah gangguan yang tidak bisa disembuhkan (not curable),
namun bisa diterapi (treatable). Maksudnya kelainan yang terjadi pada otak tidak
29
bisa diperbaiki namun gejala-gejala yang ada dapat dikurangi semaksimal mungkin sehingga anak tersebut nantinya bisa berbaur dengan anak-anak lain secara normal. Keberhasilan terapi dipengaruhi oleh beberapa faktor lain yaitu : 1. Berat ringannya gejala atau berat ringannya kelainan otak 2. Usia, diagnosis dini sangat penting oleh Karena semakin muda umur anak saat dimulainya terapi semakin besar kemungkinan untuk berhasil 3. Kewcerdasan, makin cerdas anak tersebut makin baik prognosisnya 4. Bicara dan bahasa, 20% penyandang autis tidak mampu berbicara seumur hidup, sedangkan sisanya mempunyai kemampuan bicara dengan kefasihan yang berbeda-beda. Mereka dengan kemampuan bicara yang baik mempunyai prognosis yang lebih baik 5. Terapi yang intensif dan terpadu. Terapi secara formal sebaiknya dilakukan antara 4-8 jam sehari. Selain itu seluruh keluarga harus terlibat untuk memacu komunikasi dengan anak. Penanganan penyandang autisme memerlukan kerjasama tim yang terpadu yang berasal dari berbagai disiplin ilmu antara lain psikiater, psikologneurolog, dokter anak, terapis bicara dan pendidik.
2.4.2. Sindrom Asperger 1. Pengertian Sindrom Asperger Sindrom asperger adalah gangguan neurobihavior yang ditandai dengan adanya gangguan komunikasi, interaksi sosial dan perilaku.
30
Yang membedakan sindrom asperger dengan autis adalah tidak adanya keterlambatan berbahasa pad sindrom asperger, namun cara mereka berbicara tidak seperti orang normal, mereka cenderung tidak memahami bahasa tubuh, tidak memahami sindiran ataupun humor. Selain itu, hal penting yang membedakan sindrom asperger dengan autis adalah tidak adanya ganguan kognisi pada sindrom asperger,bahkan anak sindromaspergermempunyai kecerdasan di atas rata-rata atau luar biasasedangkan sebagianbesar anak autisdi laporkan menunjukan tingkat kecerdasandi bawah rata-rata. 2. Gejala sindrom Asperger Gejala yang paling menonjol dari sindrom asperger adalah adanya keterpakuan minat pada objek atau topik tertentu yang terus menerus. Topik ini bisa bermacam-macam dan biasanya tidak terdapat pada anak normal. Selain objek tertentu, sebagian anak sindrom asperger juga menunjukkan minat lainnya. Keminatan mereka yang amat sangat pada objek ataupun Topik tidak lazim tersebut membawa mereka terpaku pada objek tersebut dan jika mereka melakukan pembicaraan dengan orang lain akan mereka bawa untuk membicarakan minat mereka tersebut secara detil. Cara mereka berbicara yang sangat formal, sarat dengan kosa kata tingkat tinggi, membuat mereka Nampak sangat pintar sekaligus aneh bagi lawan bicaranya yang normal. Padahal jika diamati, inti pembicaraan mereka cenderung berulang terdiri dari informasi yang bermakna atau kesimpulan yang bermnanfaat bagi yang mendengarnya. Selain itu, anak sindrom asperger cenderung berbicara sangat datar, monoton dan tanpa ritme, bahkan mereka tidak mampu menyesuaikan volume suaranya dengan sekitarnya, sehingga mereka harus selalu diingatkan untuk
31
berbicara lebih halus jika bicara dengan orang yang lebih tua, jika berada dalam lingkungan yang senyap. Anak sindrom asperger biasanya terisolasi dari lingkungannya karena kemampuan berinteraksi sosialnya yang buruk dan keminatannya yang sangat sempit. Sebetulnya anak sindrom asperger mau berinteraksi dengan orang lain, namun karena mereka selalu membicarakan sesuatu hal yang berulang-ulang, dengan ritme yang aneh pula, tentunya sulit untuk tercapai diskusi hubungan timbale balik yang baik. Anak sindrom asperger dilaporkan juga sering kali menunjukkan keterlambatan atau gangguan perencanaan gerak di area motorik seperti misalnya clumsy dalam kemampuan mengayuh sepeda, menangkap bola, dan memanjat. Cara mereka berjalan pun Nampak kaku dan tidak nyaman dilihat. 3. Kriteria Diagnostik Sindrom Asperger Menurut Diagnostic and Statistical Manual of Mental Disorders-Fourth Edition (DSM-IV), kriteria sindrom asperger adalah sebagai berikut : Gangguan kualitatif dalam interaksi sosial seperti yang ditunjukkan oleh sekurang dua dari berikut : 1.
Gangguan jells dalam penggunaan perilaku non verbal multiple seperti tatapan mata, ekspresi wajah, postur tubuh, dan gerak-gerik untuk mengatur interaksi sosial.
2.
Gagal untuk mengembangkan hubungan dengan teman sebaya yang sesuai menurut tingkat perkembangan.
3.
Gangguan jelas dalam ekspresi kesenangan dalam kegembiraan orang lain.
32
4.
Tidak ada timbal balik sosial atau emosional.
Pola perilaku, minat, dan aktivitas yang terbatas, berulang dan stereotipik, seperti ditunjukkan oleh sekurangnya satu dari berikut : 1.
Preokupasi dengan satu atau lebih pola minat yang stereotipik dan terbatas, yang abnormal baik dalam intensitas maupun fokusnya.
2.
Ketaatan yang tampaknya tidak fleksibel terhadap rutinitas atau ritual yang spesifik dan non fungsional.
3.
Manarisme motorik stereotipik dan berulang (misalnya, menjentikkan atau memuntirkan tangan atau jari, atau gerakan kompleks seluruh tubuh).
4.
Preokupasi persistem dengan bagian-nagian benda.
Gangguan menyebabkan gangguan yang bermakna secara klinis dalam fungsi sosial, pekerjaan, atau fungsi penting lainnya. Tidak terdapat keterlambatan yang bermakna secara klinis dalam perkembangan kognitif atau dalam perkembangan keterampilan menolong diri sendiri dan perilaku adaptif yang sesuai dengan usia (selain dalam interaksi sosial), dan keinginan tahuan tentang lingkungan pada masa kanak-kanak. 5. Penanganan Sindrom Asperger Penanganan sindrom asperger berupa terapi perilaku ditunjukkan untuk mengurangi
atau
menghilangkan
perilaku
maladaptifnya,
memperbaiki
kemampuan interaksi sosialnya dan kemampuannya berkomunikasi timbale balik dengan orang lain. Anak sindrom asperger diharapkan dapat memperluas minatnya, mampu lebih aktif melakukan kegiatan-kegiatan terstruktur di luar minatnya dengan baik. Program terapi juga memfasilitasi system reinforcement.
33
Program terapi perilaku bagi anak sindrom asperger secara umum meliputi 1. Pelatihan kemampuan sosial: terapis mengajarkan anak AS keterampilanketerampilan yang dibutuhkan untuk berinteraksi dengan baik dengan orang lain. 2. Cognitif Behavioral Therapy (CBT): semacam sessi dimana anak AS diminta mengungkapkan pendapat dan perasaanya sehingga membantu anak AS yang eksplosif atau cemas untuk dapat mengendalikan emosinya dengan baik dan mengurangi keterpakuan mereka terhadap minat atau pengulangan rutinitas mereka. 3. Terapi okupasi: bagi anak sindrom asperger yang masih berada di bawah usia 3 tahun dan mengalami gangguan nyata pada perencanaan gerak atau masalah sensori integrasi. 4. Terapi berbahasa: untuk memperbaiki kemampuan pragmatic anak AS sehingga mereka mampu berkomunikasi dengan baik sesuai dengan keadaan ataupun orang yang diajak bicara dan juga tempat mereka bicara. 5. Pelatihan dan konseling bagi orang tua dan guru AS: untuk memberikan edukasi dan pelatihan mengenai program bagi anak AS dan di sekolah, serta memberikan dukungan moril bagi mereka. 2.4.3. Gangguan Rett 1. Pengertian Gangguan Rett Gangguan rett adalah gangguan perkembangan pervasif yang ditandai dengan adanya abnormalistik fisik, perilaku, motorik dan kognitif yang dimulai setelah beberapa bulan perkembangan normal.
34
2. Gejala Gangguan Rett Berikut adalah gejala yang nampak pada penderita gangguan rett: 1.
Pertumbuhan kepala melambat
2.
Kemunduran pada keterampilan motorik (kehilangan kemampuan keterampilan tangan)
3.
Perkembangan yang stereotip pada gerakan tangan, biasanya seperti gerakan meremas atau mencuci tangan
4.
Perkembangan yang buruk pada koordinasi gerakan seluruh badan
5.
Hilangnya minat sosial
6.
Hambatan yang berat pada perkembangan bahasa
7.
Sering dihubungkan denga retardasi mental yang berat
3. Kriteria Diagnostik Gangguan Rett Menurut Diagnostic and Statistical Manual of Mental Disorders-Fourth Edition (DSM-IV), kriteria gangguan rett adalah sebagai berikut: Semua berikut: 1.
Perkembangan pranatal dan perinatal yang tampaknya normal.
2.
Perkembangan psikomotor yang tampaknya normal selama lima bulan pertama setelah lahir.
3.
Lingkaran kepala yang normal saat lahir.
Onset semua berikut: 1.
Perlambatan pertumbuhan kepala antara usia 5 dan 48 bulan.
2.
Hilangnya keterampilan tangan bertujuan yang sebelumnya telah dicapai antara usia 5 dan 30 bulan dengan diikuti perkembangan
35
gerakan tangan stereotipik (misalnya, memuntirkan tangan atau mencuci tangan). 3.
Hilangnya keterlibatan sosial dalam awal perjalanan (walaupun seringkali interaksi sosial tumbuh kemudian).
4.
Terlihatnya gaya berjalan atau gerakan batang tubuh yang terkoordinasi secara buruk.
5.
Gangguan parah pada perkembangan bahasa ekspresif dan reseptif dengan retardasi psikomotor yang parah.
4. Penanganan Gangguan Rett Sampai saat ini tidak ada obat-obatan yang dapat menyembuhkan sindrom Rett, oleh karenanya tidak ada obat-obatan khusus untuk penderita gangguan ini, dokter hanya memberikan obat-obatan tertentu dari sindrom yang muncul. Terapi fisik diberikan untuk mengurangi dampak dari scoliosis, latihan berjalan, keseimbangan dan fleksibilitas badan, dan penggunaan fungsi-fungsi tangan. Terapi ini juga membantu anak mengurangi dampak-dampak pengurangan kebiasaan mengulang. Terapi bahasa dan bicara dilatih pada anak dengan RS bertujuan untuk meningkatkan kemampuan berbahasa dan mengenal komunikasi nonverbal. Disamping itu anak dengan RS juga mendapatkan diet makanan yang sehat untuk mendukung
pertumbuhan
dan
perkembangan
kemampuan sosial dan sehat secara fisik dan mental.
sehingga
anak
meningkat
36
2.4.4. Gangguan Disintegratif Masa Kanak-kanak 1. Pengertian Gangguan Disintegratif Masa kanak-kanak Gangguan disintegrtif masa kanak-kanak adalah gangguan pervasif yang melibatkan hilangnya keterampilan-keterampilan yang telah dikuasai dan fungsi yang abnormal setelah satu periode perkembangan normal pada dua tahun pertama kehidupan. 2. Gejala Gangguan Disintegratif Masa Kanak-kanak Setelah perkembangan yang tampak normal selama paling tidak 2 tahun pertama kehidupan, terjadi: 1. Hilangnya secara signifikan keterampilan-keterampilan yang telah dikuasai sebelumnya seperti pada area pemahaman atau penggunaan bahasa, fungsi sosial atau adaptif, control dalam buang air kecil dan besar, bermain atau keterampilan motorik. 2. Keabnormalan fungsi seperti yang tampak pada gangguan interaksi sosial dan komunikasi, dan perkembangan tingkah laku, minat atau aktifitas yang sempit, stereotif dan repetitive. 3. Karakteristik Diagnostik Gangguan Disintegratif Masa Kanak-kanak Menurut Diagnostic and Statistical Manual of Mental Disorders-Fourth Edition (DSM-IV), kriteria gangguan disintegrative masa kanak-kanak adalah sebagai berikut: Pertumbuhan yang tampaknya normal selama sekurangnya dua tahun pertama setelah lahir seperti yang ditunjukkan oleh adanya komunikasi verbal dan non verbal yang sesuai, hubungan sosial, permainan dan perilaku adaptif.
37
Kehilangan bermakna secara klinis keterampilan yang telah dicapai sebelumnya (sebelum usia 10 tahun) dalam sekurangnya bidang berikut: a.
Bahasa ekspresif atau reseptif
b.
Keterampilan sosial atau perilaku adaptif
c.
Pengendalian usus atau kandung kemih
d.
Bermain
e.
Keterampilan motorik
Kelainan fungsi dalam sekurangnya dua bidang berikut: 1.
Gangguan kualitatif dalam interaksi sosial (misalnya, gangguan dalam perilaku non verbal, gagal untuk mengembangkan hubungan teman sebaya, tidak ada timbal balik sosial atau emosional).
2.
Gangguan kualitatif dalam komunikasi (misalnya, keterlambatan atau tidak adanya bahsa ucapan, ketidak mampuan untuk memulai atau mempertahankan suatu percakapan, pemakaian bahasa yang stereotipik dan berulang, tidak adanya berbagai permainan khayalan.
3.
Pola perilaku, minat, dan aktivitas yang terbatas, berulang dan stereotipik, termasuk stereotipik dan manerisme motorik.
Gangguan tidak diterangkan lebih baik oleh gangguan perkembangan pervasif spesifik lain atau oleh skizofrenia. 4. Penanganan Gangguan Disintegratif Masa Kanak-kanak Tidak ada obat untuk gangguan disintegrasi masa kanak-kanak. Pengobatan untuk gangguan pada dasarnya adalah sama seperti untuk autisme. Pilihan pengobatan dapat meliputi:
38
a.
Pengobatan. Tidak ada obat yang langsung mengobati gangguan disintegrasi masa kanak-kanak. Namun, masalah perilaku parah seperti agresi dan gerakan berulang-ulang kadang-kadang dapat dikendalikan oleh obat untuk kegelisahan atau depresi, atau obat antipsikotik. Obat antikonvulsan dapat membantu mengendalikan serangan epilepsy.
b.
Perilaku terapi. Teknik ini dapat digunakan terapi oleh psikolog, terapis wicara, terapis fisik dan terapis okupasi maupun para orang tua, guru dan wali. Program terapi perilaku mungkin dirancang untuk membantu anak anda belajar atau belajar kembali bahasa, dan perawatan diri-keterampilan sosial. Program-program ini menggunakan sistem penghargaan untuk memperkuat perilaku yang diinginkan dan mencegah masalah perilaku. Pendekatan yang konsisten di antara semua anggota tim perawatan kesehatan, pengasuh dan guru sangat penting dalam terapi perilaku. Hasil untuk anak-anak dengan gangguan disintegrasi masa kanak-kanak
biasanya sangat miskin, lebih buruk dari pada bagi anak-anak autis. Hilangnya bahasa, kognitif, keterampilan sosial dan perawatan diri cenderung menjadi parah dan melumpuhkan secara permanen. Akibatnya, anak-anak dengan gangguan pada akhirnya mungkin membutuhkan perawatan tinggal di sebuah rumah kelompok atau fasilitas perawatan jangka panjang.
2.5.
Proses Pemodelan Sistem Dalam pembuatan Program Didalam merancang sistem informasi diperlukan suatu pemodelan untuk
menggambarkan dan mengkomunikasikan secara sederhana rancangan sistem yang dibuat, agar sistem mudah dipahami dan dikoreksi.
39
Melalui pemodelan sistem, dapat digambarkan aliran data yang akan diproses menjadi informasi dan aliran distribusinya secara sederhana, sehingga arus data dan informasi dapat terlihat secara jelas. Ada 3 alasan yang menyebabkan pemakaian pemodelan sistem, yaitu : (Pohan dan Bahri, 1997) 1.
Dapat memfokuskan perhatian pada hal-hal penting dalam sistem tanpa mesti terlibat terlalu jauh.
2.
Mendiskusikan perubahan dan koneksi terhadap kebutuhan pemakai dengan resiko dan biaya minimal.
3.
Menguji pengertian penganalisa sistem terhadap kebutuhan pemakai dan membantu pendisain sistem dan pemrograman membangun sistem. Dalam dunia pemodelan sistem terdapat sejmlah cara yang mempresentasikan
sistem melalui diagram, perangkat pemodelan sistem tersebut meliputi: 2.5.1. Diagram Konteks (Context Diagram) Untuk menggambarkan suatu interaksi dalam sistem informasi secara umum diperlukan suatu diagram konteks yang menjelaskan mengenai keterkaitan sistem informasi tersebut dengan entitas-entitas yang ada didalam sistem. Diagram konteks menurut Pohan dan Bahri (1997) merupakan kasus khusus DFD (Data Flow Diagram) atau bagian dari DFD yangberfungsi memetakan model lingkungan, yang direpresentasikan dengan lingkaran tunggal yang mewakili keseluruhan sistem. Diagram konteks menyoroti sejumlah karakteristik penting sistem, yaitu: •
Kelompok pemakai, organisasi atau sistem lain, dimana sistem melakukan komunikasi yang disebut dengan terminator
40
•
Data masuk, data yang diterima sistem dari lingkungan dan harus diproses dengan cara tertentu.
•
Data keluar, data yang dihasilkan hasil pemroresan sistem dan diberikan ke dunia luar
•
Penyimpana data (data store), digunakan secaa bersamaan bersama antara sistem dengan terminator. Data ini dapat dibuat oleh sistem dan digunakan oleh lingkungan atau sebaliknya, dibuat oleh lingkungan dan digunakan oleh sistem. Hal ini berarti pembuatan sistem data store dalam diagram konteks dibenarkan, dengan syarat simbol tersebut merupakan bagian dari dunia di luar sistem. Batasan antara sistem dan lingkungan (rest of the word)
Aturan-aturan konteks diagram: a.
untuk digambarkan lebih dari satu kali sehingga mencegah penggambaran yang terlalu rumit, dengan ditandai secara khusus untuk menelaskan bahwa terminator yang dimaksud adalah identik.
b.
Jika terminator mewakili individu atau personil, sebaiknya diwakili oleh peran yang dimainkan personil tersebut. Alasan pertama adalah kerana personil yang berfungsi melakukan itu dapat berganti sedangkan diagram konteks harus tetap akurat walaupun personil berganti. Alasan kedua adalah seorang personil dapat memainkan lebih dari satu peran.
c.
Karena fokus utama adalah mengembangkan model esensi, maka penting untuk membedakan sumber (sources) dan pelaku (handler). Pelaku adalah mekanisme, perangkat atau media fisik yang mentransformasikan data ke atau dari sistem. Karena pelaku serig kali familiar dengan pemakai dalam
41
implementasi sistem berjalan, maka sering menonjol sebagai sesuatu yang harus digambarkan lebih dari sumber data itu sendiri. Sedangkan sistem baru dengan konsep pengembangan teknologinya membuat pelaku menjadi sesuatu yang tidak perlu digambarkan. 2.5.2. Data Flow Diagram (DFD) Data Flow Diagram (DFD) awa;nya dikembangkan oleh Chris Gane dan Trish Sarson pada tahun 1979 yang termasuk dalam Structured System Analysis and Desain methodology (SSADM) yang ditulis oleh Chris Gane dan Trish Sarson. Informasi yang ada didalam perangkat lunak dimodifikasi dengan beberapa transformasi yang dibutuhkan. DFD menggambarkan aliran informasi dan transformasi informasi yang diaplikasikan sebagai data yang mengalir dari input dan output. (Rosa A.S, M Shalahuddin, 2011) DFD ini tidak hanya dapat digunakan untuk memodelkan sistem pemrosesan informasi tetapi bisa juga sebagai jalan untuk memodelkan keseluruhan organisasi, sebagai perencana kerja dan perencana strategi. Notasinotasi pada DFD (Edward Yourdon dan Tom DeMarco) adalah sebagai berikut :
Tabel 2.1 Notasi-notasi pada DFD (Rosa A.S, M Shalahuddin, 2011) Notasi
Keterangan Proses, merupakan kegiatan atau kerja yang dilakukan oleh orang, mesin atau komputer dari hasil suatu arus data yang masuk kedalam proses untuk dihasilkan arus data yang akan keluar dari proses.
42
Tabel 2.1 Notasi-notasi pada DFD (Rosa A.S, M Shalahuddin, 2011) (Lanjutan)
Notasi
Keterangan File atau basis data atau penyimpanan (storage) merupakan simpanan dari data yang dapat berupa database di sistem komputer, arsip dan lainnya.
Entitas luar, merupakan masukan (input) atau keluaran (output) atau orang yang berinteraksi dengan perangkat lunak yang dimodelkan.
Aliran data, merupakan data yang dikirim antar proses, dari penyimpanan ke proses, atau dari proses ke masukan (input) atau keluaran (output).
2.5.3. Entity Relationship Diagram (ERD) Menurut Edi Winarko (2006) Entity Relationship Diagram (ERDiagram) adalah sebuah digram yang menggambarkan hubungan atau relasi antar entitas (Entity), setiap entity terdiri atas satu atau lebih attribut yang merepresentasikan seluruh kondisi atau fakta dari dunia nyata yang ditinjau. Dengan ER-Diagram untuk mentransformasikan keadaan dari dunia nyata ke dalam bentuk basis data. Berikut adalah simbol-simbol yang digunakan pada ERD:
43
Tabel 2.2 Simbol dan Fungsi Komponen-komponen ERD (Rosa A.S, M Shalahuddin, 2011) Simbol
Deskripsi Entitas atau Entity, Entitas adalah sebuah obyek yang memiliki atribut, yang merupakan data inti yang akan disimpan.
nama_entitas
Atribut atau field, merupakan simbol untuk mewakili suatu entity. Atribut dilambangkan dengan bentuk elips. nama-atribut
nama_relasi
Relationship, simbol yang menyatakan hubungan atau relasi diantara beberapa entity, yang juga menghubungkan antar entitas.
Line, merupakan simbol penghubung antara himpunan relasi dengan himpunan entitas dari suatu atribut.
2.5.4. Kardinalitas atau Derajat Relasi Kardinalitas relasi menunjukan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Entitas-entitas pada himpunan entitas mahasiswa dapat berelasi dengan satu entitas, banyak entitas atau bahkan tidak satupun entitas dari himpunan entitas kuliah. Begitu juga sebaliknya, entitas-entitas pada himpunan entitas mahasiswa dan ada pula yang berelasi dengan satu entitas pada himpunan entitas mahasiswa. Dari sejumlah kemungkinan banyaknya hubungan antar entitas tersebut, kardinalitas relasi merujuk kepada hubungan maksimum yang terjadi dari himpunan entitas yang satu ke himpunan entitas yang lain dan begitu juga
44
sebaliknya. Hubungan maksimum dari himpunan entitas mahasiswa ke himpunan entitas kuliah adalah banyak (lebih dari satu) dan demikian pula hubungan maksimum dari himpunan entitas kuliah ke himpunan entitas mahasiswa adalah banyak (lebih dari satu). Dengan demikian, kardinalitas relasi antara kedua himpunan entitas adalah banyak ke banyak. Kardinalitas relasi yang terjadi diantara dua himpunan entitas (misalnya A dan B) dapat berupa:
•
Satu ke satu (One to one) Setiap setiap entitas pada himpunan entitas A berhubungan paling banyak
dengan satu entitas pada himpunan entitas B, dan begitu sebaliknya setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan entitas A.
A
B
Entitas 1
Entitas 1
Entitas 2
Entitas 2
Entitas 3
Entitas 3
Gambar 2.1 Relasi satu ke satu (Fathansyah, 1999)
•
Satu ke banyak (One to money) Setiap setiap entitas pada himpunan entitas A dapat berhubungan dengan
banyak entitas pada himpunan entitas B, tetapi tidak sebaliknya, dimana setiap
45
entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.
A
B
Entitas 1
Entitas 1
Entitas 2
Entitas 2 Entitas 3
Gambar 2.2 Relasi satu ke banyak (Fathansyah, 1999)
•
Banyak ke satu (Money to one) Setiap entitas pada himpunan entitas A behubungan paling banyak dengan
satu entitas pada himpunan entitas B, tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas A berhubungan dengan paling banyak satu entitas pada himpunan entitas B. A
B
Entitas 1
Entitas 1
Entitas 2
Entitas 2
Entitas 3
Gambar 2.3 Relasi banyak ke satu (Fathansyah, 1999)
46
•
Banyak ke banyak (Money to money) Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak
entitas pada himpunan entitas B, dan demikian juga sebaliknya, dimana setiap entitas pada himpunan entitas B dapat berhubungan dengan banyak entitas pada himpunan entitas A. A
B
Entitas 1
Entitas 1
Entitas 2
Entitas 2
Entitas 3
Entitas 3
Gambar 2.4 Relasi banyak ke banyak (Fathansyah, 1999)
2.6.
Basis Data
2.6.1. Pengertian Basis Data Sistem basis data adalah sistem terkomputerisasi yang tujuan utamanya adalah memelihara data yang sudah diolah atau informasi dan membuat informasi tersedia saat dibutuhkan. Pada intinya adalag basis data media untuk menyimpan data agar dapat diakses dengan mudah dan cepat. (Rosa A.S, M Shalahuddin, 2011) Sistem tidak dapat dipisahkan dengan kebutuhan akan basis data apapun bentuknya, baik berupa file teks atau Database Management System (DBMS). Kebutuhan basis data dalam sistem meliputi: 1.
Memasukan, menyimpan, dan mengambil data.
47
2.
Membuat laporan berdasarkan data yang telah disimpan.
2.6.2. Database Management System (DBMS) DBMS (Database Management System) merupakan suatu sistem aplikasi yang digunakan untuk menyimpan, mengelola, dan menampilkan data. (Rosa A.S, M Shalahuddin, 2011). Suatu sistem aplikasi disebut DBMS jika memenuhi persyaratan minimal sebagai berikut: • Menyediakan fasilitas untuk mengelola akses data • Mampu menangani integritas data • Mampu menangani backup data Karena pentingnya data bagi suatu organisasi atau perusahaan, maka hampir sebagian besar perusahaan memanfaatkan DBMS dalam mengelola data yang mereka miliki.pengelolaan DBMS sendiri biasanya ditangani oleh tenaga ahli yang spesialis menangani DBMS yang disebut sebagai DBA (Database Administrator). Berikut ini adalah 4 macam DBMS versi komersial yang paling banyak digunakan di dunia saat ini, yaitu: • Oracle • Microsoft SQL Server • IBM DB2 • Microsoft Access
Sedangkan DBMS versi open source yang cukup berkembang dan paling banyak digunakan saat ini adalah sebagai berikut : • MySQL dan PostgreSQL
48
• Firebird • SQLite
2.7.
Bagan Alir (Flowchart) Flowchart adalah sekumpulan simbol-simbol yang menunjukan atau
mengambarkan rangkaian kegiatan-kegiatan program dari awal sampai akhir, jadi flowchart juga digunakan untuk menggambarkan urutan langkah-langkah pekerjaan disuatu algoritma (Jogianto Hartono, 1999). Flowchart ini biasanya digunakan sebagai alat bantu komunikasi dan untuk dokumentasi. Bagan alir sistem merupakan bagan yang menunjukkan arus kegiatan dari keseluruhan sistem. Bagan ini menjelaskan urutan–urutan dari prosedur–prosedur yang ada dalam sistem. Penjelasan arti dari lambang-lambang flowchart dapat didefinisikan seperti pada Table 2.3. Tabel 2.3 Simbol-simbol Flowchart No
Simbol
1
Fungsi Terminator, untuk memulai dan mengakhiri suatu program.
2
Process, suatu simbol yang menunjukan setiap pengolahan yang dilakukan oleh komputer.
3
Data, untuk memasukan data menunjukan hasil dari suatu proses.
4
Decision, suatu kondisi yang akan menghasilkan beberapa kemungkinan jawaban atau pilihan.
maupun
49
Tabel 2.3 Simbol-simbol Flowchart (Lanjutan) No 5
6
Simbol
Fungsi Preparation, suatu simbol untuk menyediakan tempat-tempat pengolahan data dalam storage. Connector, merupakan simbol untuk masuk dan keluarnya suatu prosedur pada lembar kertas yang sama. Arus atau flow, menunjukan alur dari suatu proses.
7
8
9
10
11
Off-page connector, merupakan simbol untuk masuk dan keluarnya suatu prosedur pada lembar kertas yang lain. Document, merupakan simbol untuk data yang berbentuk informasi.
Predefined process, untuk menyatakan sekumpulan langkah proses yang ditulis sebagai prosedur. Display, untuk output yang ditujukan suatu device, seperti monitor.
Magnetic Disk, untuk menyimpand data. 12
2.8.
Pengujian Perangkat Lunak Pengujian perangkat lunak (software testing) merupakan suatu investigasi
yang dilakukan untuk mendapatkan informasi mengenai kualitas dari produk atau layanan yang sedang diuji (under test). (Wikipedia). Pada dasarnya, pengujian
50
merupakan suatu proses rekayasa perangkat lunak yang dapat dianggap (secara psikologis) sebagai hal yang destruktif daripada konstruktif. Sasaran pengujian (Glen Myers) : 1.
Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan.
2.
Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebalumnya.
3.
Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah ditemukan sebelumnya. Prinsip pengujian (diusulkan Davis) :
1.
Semua pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan.
2.
Pengujian harus direncanakan lama sebelum pengujian itu dimulai.
3.
Prinsip Pareto berlaku untuk pengujian perangkat lunak. Prinsip Pareto mengimplikasikan 80% dari semua kesalahan yang ditemukan selama pengujian sepertinya akan dapat ditelusuri sampai 20% dari semua modul program.
4.
Pengujian harus mulai "dari yang kecil" dan berkembang ke pengujian "yang besar".
5.
Pengujian yang mendalam tidak mungkin. • Paling efektif, pengujian dilakukan oleh pihak ketiga yang independen. Testabilitas Testabilitas perangkat lunak adalah seberapa mudah sebuah program
komputer dapat diuji. Karena pengujian sangat sulit, perlu diketahui apa yang dapat dilakukan untuk membuatnya menjadi mudah.
51
Karakteristik perangkat lunak yang diuji : a.
Operabilitas , semakin baik dia bekerja semakin efisien dia dapat diuji.
b.
Observabilitas, apa yang anda lihat adalah apa yang anda uji.
c.
Kontrolabilitas, semakin baik kita dapat mengontrol perangkat lunak semakin banyak pengujian yang adapat diotomatisasi dan dioptimalkan.
d.
Dekomposabilitas, dengan mengontrol ruang lingkup pengujian kita dapat lebih cepat mengisolasi masalah dan melakukan pengujian kembali.
e.
Kesederhanaan, semakin sedikit yang diuji semakin cepat pengujian.
f.
Stabilitas, semakin sedikit perubahan semakin sedikit gangguan pengujian.
g.
Kemampuan Dipahami, semakin banyak informasi yang dimiliki semakin detail pengujiannya. Atribut pengujian yang baik :
a.
Memiliki probabilitas yang tinggi menemukan kesalahan.
b. Tidak redundan. c.
Harusnya ‘jenis terbaik’.
d. Tidak boleh terlalu sederhana atau terlalu kompleks. Desain test case Terdapat bermacam-macam rancangan metode test case yang dapat digunakan, semua menyediakan pendekatan sistematis untuk uji coba, yang terpenting metode menyediakan kemungkinan yang cukup tinggi menemukan kesalahan.
52
Terdapat 2 macam test case: 1.
Pengetahuan fungsi yang spesifik dari produk yang telah dirancang untuk diperlihatkan, test dapat dilakukan untuk menilai masing-masing fungsi apakah telah berjalan sebagaimana yang diharapkan.
2.
Pengetahuan tentang cara kerja dari produk, test dapat dilakukan untuk memperlihatkan cara kerja dari produk secara rinci sesuai dengan spesifikasinya.
Dua macam pendekatan test yaitu : 1.
Black Box Testing Test case ini bertujuan untuk menunjukkan fungsi perangkat lunak tentang
cara beroperasinya, apakah pemasukan data keluaran telah berjalan sebagaimana yang diharapkan dan apakah informasi yang disimpan secara eksternal selalu dijaga kemutakhirannya. Pengujian black-box berfokus pada persyaratan fungsional perangkat lunak. Pengujian inimemungkinkan analis system memperoleh kumpulan kondisi input yg akan mengerjakan seluruh keperluan fungsional program. Tujuan metode ini mencari kesalaman pada:
Fungsi yg salah atau hilang
Kesalahan pada interface
Kesalahan pada struktur data atau akses database
Kesalahan performansi
Kesalahan inisialisasi dan tujuan akhir
53
1.
White Box Testing Adalah meramalkan cara kerja perangkat lunak secara rinci, karenanya
logikal path (jalur logika) perangkat lunak akan ditest dengan menyediakan test case yang akan mengerjakan kumpulan kondisi dan atau pengulangan secara spesifik. Secara sekilas dapat diambil kesimpulan white box testing merupakan petunjuk untuk mendapatkan program yang benar secara 100%. Uji coba white box adalah metode perancangan test case yang menggunakan struktur kontrol dari perancangan prosedural untuk mendapatkan test case. Dengan rnenggunakan metode white box, analis sistem akan dapat memperoleh test case yang:
menjamin seluruh independent path di dalam modul yang dikerjakan sekurang-kurangnya sekali
mengerjakan seluruh keputusan logical
mengerjakan seluruh loop yang sesuai dengan batasannya
mengerjakan seluruh struktur data internal yang menjamin validitas
2.9.
PHP (Personal Home Page) PHP adalah bahasa server-side scripting yang menyatu dengan HTML
untuk membuat halaman web yang dinamis. Karena PHP merupakan server-side scripting maka sintaks dan perintah-perintah PHP akan dieksekusi di server kemudian hasilnya dikirimkan ke browser dalam format HTML. (M.Rudyanto Arief,2011) PHP dikembangkan pertama kali pada tahun 1995 oleh Rasmus Lerdorf yang merupakan anggota group Apache, dan pertama kali di desain sebagai alat
54
tracking pengunjung website Lerdorf. PHP dikembangkan sepenuhnya untuk bahasa script side server programming serta bersifat open source sehingga dapat dikembangkan oleh siapa saja lalu digabungkan dengan berbagai server yang berbeda-beda platform. Salah satu keunggulan yang dimiliki oleh PHP adalah kemampuannya untuk melakukan koneksi ke berbagai macam software sistem manajemen basis data/Database Management System (DBMS), sehingga dapat menciptakan suatu halaman web yang dinamis.PHP mempunyai koneksitas yang baik dengan beberapa DBMS antara lain Oracle, Sybase, mSQL, mySQL, Microsoft SQL Server, Solid, PostgreSQL, Adabas, FilePro, Velocis, dBase, Unix dbm, dan tak terkecuali semua database ber-interface ODBC. Beberapa kelebihan PHP, diantaranya adalah sebagai berikut : 1. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaanya. 2. Web Server yang mendukung PHP dapat ditemukan dimana-mana dari mulai apache, IIS, lighttpd, nginx, hingga xitami dengan konfigurasi yang relatif mudah. 3. Dalam sisi pengembangan lebih mudah, karena banyaknya milis-milis dan developer yang siap membantu dalam pengembangan. 4. Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak. 5. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah sistem.
55
2.9.1. Struktur kendali Struktur kendali merupakan pengatur aliran program, mempunyai rangkaian perintah yang harus ditulis untuk memenuhi beberapa keadaan (M.Rudyanto Arief, 2011), yaitu : a. Mengulang suatu perintah jika suatu kondisi terpenuhi. b. Melanjutkan sebuah pernyataan bila kondisi terpenuhi. c. Memilih sebuah pilihan dari beberapa alternatif bila kondisi terpenuhi. Struktur kendali dapat dibagi menjadi dua jenis, yaitu struktur kendali percabangan (pengambilan keputusan) dan struktur kendali pengulangan (looping). 1.
Struktur kendali percabangan Struktur kendali percabangan (pengambilan keputusan) adalah struktur
kendali yang berfungsi untuk melakukan pemilihan atas perintah yang akan dijalankan sesuai dengan kondisi tertentu. Ada empat perintah percabangan dalam PHP, yaitu if, if ... else , if ... elseif, dan switch. a.
Perintah IF Perintah IF digunakan untuk menjalankan satu atau lebih perintah berdasarkan suatu kondisi. Sintaks penulisan perintah IF yaitu sebagai berikut : IF (kondisi) { Pernyataan kondisi benar }
yang
akan
dijalankan
apabila
56
b.
Perintah IF-ELSE Perintah IF-ELSE digunakan untuk memilih salah satu pernyatan berdasarkan suatu kondisi. Perintah ini akan menjalankan pernyataan tertentu bila kondisi bernilai benar dan akan menjalankan pernyataan yang lain jika kondisi bernilai salah. Sintaks dan penulisannya yaitu sebagai berikut : IF (kondisi) { Pernyataan_1 } ELSE { Pernyataan_2 }
c.
Perintah IF- ELSEIF Perintah IF-ELSEIF digunakan untuk menjalankan suatu pernyataan dengan melibatkan lebih dari satu kondisi. Sintaks penulisannya sebagai berikut : IF (kondisi_1) { Pernyataan_1 } ELSEIF (kondisi_2) { Pernyataan_2 } ELSE { Pernyataan_3 }
d.
Perintah Switch Perintah switch digunakan sebagai alternatif pengganti dari perintah if ... elseif. Dengan perintah ini program percabangan akan lebih mudah dibuat dan dipelajari. Sintaks penulisan switch yaitu sebagai berikut :
57
switch (kondisi) { case konstanta_1: pernyataan_1; break; base konstanta_2: pernyataan_2; break; default: pernyataan_3; } Perintah
switch
akan
menyeleksi
kondisi
yang diberikan
dan
membandingkan hasilnya dengan konstanta-konstanta yang berada pada case. Pembandingan akan dimulai dari konstanta_1 sampai konstanta terakhir. 2.
Struktur Kendali Pengulangan Struktur kendali pengulangan digunakan untuk mengulang suatu perintah
sebanyak yang diinginkan. Ada tiga jenis perintah pengulangan dalam PHP, yaitu FOR, WHILE, dan DO-WHILE. a.
Perintah FOR Perintah FOR digunakan untuk mengulangi suatu perintah dengan jumlah pengulangan yang sudah diketahui. Pada perintah ini tidak perlu menuliskan suatu kondisi untuk diuji. Kita hanya perlu menuliskan nilai awal dan akhir variabel penghitung. Nilai variabel penghitung akan secara otomatis bertambah atau berkurang tiap kali sebuah pengulangan dilaksanakan. Sintaks penulisan perintah FOR yaitu sebagai berikut : FOR (nilai_awal; penambahan/pengurangan) { Pernyataan yang dijalankan }
nilai_akhir;
58
b.
Perintah WHILE Perintah WHILE digunakan untuk mengulangi suatu perintah sampai jumlah yang bisa ditentukan. Pengulangan akan terus berjalan selama kondisi masih bernilai benar. Sintaks penulisan perintah WHILE yaitu sebagai berikut : WHILE (kondisi) { Pernyataan yang akan dijalankan }
c.
Perintah DO-WHILE Dengan perintah DO-WHILE, proses pengulangan akan terus dikerjakan jika kondisi yang diperiksa di WHILE masih bernilai benar. Proses pengulangan akan dihentikan jika kondisi sudah bernilai salah. Sintaks penulisannya sebagai berikut: DO { Pernyataan yang dijalankan } WHILE (kondisi); Perbedaan antara perintah WHILE dan DO-WHILE adalah letak dari
kondisi yang diperiksa. Pada perintah WHILE, kondisi yang diperiksa terletak di awal perulangan, sehingga sebelum masuk ke dalam perulangan WHILE kondisi harus bernilai benar. Sedangkan pada perintah DO-WHILE, kondisi diperiksa di akhir perulangan. Ini berarti paling sedikit sebuah perulangan akan dilakukan oleh DO-WHILE, karena untuk masuk ke perulangan tidak ada kondisi yang harus dipenuhi.
59
2.10.
MySQL MySQL adalah salah satu jenis database server yang sangat terkenal dan
banyak digunakan untuk membangun aplikasi web yang menggunakan database sebagai sumber dan pengelolaan datanya. Kepopuleran MySQL antara lain karena MySQL menggunakan SQL sebagai bahasa dasar untuk mengakses database-nya sehingga mudah untuk digunakan, kinerja query cepat, dan mencukupi untuk kebutuhan database perusahaan-perusahaan skala menengah-kecil. MySQL juga bersifat open source dan free pada berbagai platform.(M.Rudyanto Arief,2011) MySQL merupakan database yang pertama kali di dukung oleh bahasa pemrograman script untuk internet (PHP dan Perl). MySQL dan PHP dianggap sebagai pasangan software pengembangan aplikasi web yang ideal. MySQL adalah salah satu software database relational (Relational Database Management System atau RDBMS) seperti Oracle, PostgreSQL, MSSQL, dan lain-lain yang mendukung multi threading dan multi user serta telah diinstalasi pada 11 juta komputer di dunia. Berdasarkan riset dinyatakan bahwa di platform web baik untuk kategori open source maupun umum, MySQL adalah datebase yang paling banyak dipakai. MySQL merupakan sistem database yang banyak digunakan untuk pengembangan aplikasi web. Alasannya karena gratis, pengelolaan datanya sederhana, memiliki tingkat keamanan yang bagus, mudah diperoleh, dan lainlain. (Budi Raharjo,2010) Beberapa keistimewaan yang dimiliki MySQL yaitu sebagai berikut :
60
1.
Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac OS X Server, Solaris, dan masih banyak lagi.
2.
Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat lunak sumber terbuka, di bawah lisensi GPL sehingga dapat digunakan secara gratis
3.
Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
4.
Performance tuning. MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu
5.
Ragam tipe data. MySQL memiliki tipe ragam data yang sangat kaya, seperti signed/unsigned integer, float,double,char, text, date, timestamp, dan lain-lain.
6.
Perintah dan fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan where dalam perintah (query).
7.
Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.
8.
Skabilitas dan Pembatasan. MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (record) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
61
9.
Konektivitas. MySQL dapat melakukan koneksi dengan klient menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).
10. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klient dengan menggunakan lebih dari dua puluh bahasa. Meskipun demikian, bahasa Indonesia belum termasuk di dalamnya. 11. Antar muka. MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface). 12. Klient dan peralatan. MySQL dilengkapi dengan berbagai peralatan (tool) yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online. 13. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya. MySQL memiliki beberapa tipe data, berikut ini tabel yang dapat digunakan untuk field-field tabel pada database MySQL. Tabel 2.4 Tipe Data MySQL (M.Rudyanto Arief,2011) Tipe Data Tinyint Smallint Mediumint Int Bigint Float Double Decimal (M,D) Char (M) Varchar (M)
Ukuran 1 byte 2 bytes 3 bytes 4 bytes 8 bytes 4 bytes
Keterangan Nilai integer yang sangat kecil Nilai integer yang kecil Integer dengan niali medium Integer dengan nilai standar Integer dengan nilai besar Bilangan desimal dengan singleprecission 8 bytes Bilangan desimal dengan doubleprecission M bytes (D+2, if M Bilangan float (desimal) yang < D) dinyatakan sebagai string M bytes, 1 <= M String karakter dengan panjang <= 255 yang tetap L+1 bytes, L <= M String karakter dengan panjang and 1 <= M <= 255 yang tidak tetap
62
Tabel 2.4 Tipe Data MySQL (M.Rudyanto Arief,2011)(Lanjutan) Tinyblob
L+1 bytes, L < 2ˆ8
BLOB (Binary Large Object) yang sangat kecil Blob L+1 bytes,L < 2ˆ16 BLOB berukuran kecil Mediumblob L+1 bytes,L < 2ˆ24 BLOB berukuran sedang Longlob L+1 bytes, L < BLOB berukuran besar 2ˆ32 Tinytext L+1 bytes, L < 2ˆ8 String teks yang sangat kecil Text L+1 bytes, L < String text berukuran kecil 2ˆ16 Mediumtext L+1 bytes, L < String text berukuran sedang 2ˆ24 Longtext L+1 bytes, L < String text berukuran besar 2ˆ32 Enum(‘v1’,’v2’, ...) 1 or 2 bytes, Enumerasi, kolom dapat diisi (65535 values dengan 1 member enumerasi max) Set(‘val1’,’val2’, ...) 1,2,3,4, or 8 bytes, Himpunan, kolom dapat diisi (64 max) dengan beberapa nilai himpunan. Date 3 bytes “1000-01-01” sampai “9999-1231” Time 3 bytes “-832:59:59” sampai “838:59:59” Datetime 8 bytes “1000-01-01 00:00:00” sampai “9999-12-31 23:59:59” Timestamp 4 bytes Range: 19700101000000 (suatu nilai tanggal pada tahun 2007) Year 1 bytes 1901 sampai 2155 Null Nilai kosong (hampa)