6 BAB II LANDASAN TEORI 2.1 Kecerdasan Buatan Kecerdasan buatan adalah salah satu bidang ilmu komputer yang mendayagunakan komputer sehingga dapat berperilakucerdas seperti manusia. Ilmu komputer tersebut mengembangkan perangkat lunak dan perangkat keras untuk menirukan tindakan manusia. Aktifitas manusia yang ditirukan seperti penalaran, penglihatan, pembelajaran, pemecahan masalah, pemahaman bahasa alami dan sebagainya. Sesuai dengan definisi tersebut, maka teknologi kecerdasan buatan dipelajari dalam bidang-bidang seperti: Robotika (Robotics), Penglihatan Komputer (Computer Vision), Pengolahan Bahasa Alami (Natural Language Processing), Pengenalan Pola (Pettern Recognition), Sistem Syaraf Buatan (Artifical Neural System), Pengenalan Suara (Speech Recognition), dan Sistem Pakar (Expert System). Sementara ensiklopedia Britannica mendefinisikan Kecerdasan Buatan (AI) sebagai cabang dari ilmu komputer yang dalam mempresentasikan pengetahuan lebih banyak menggunakan bentuk simbol-simbol dari pada bilangan dan memproses informasi berdasarkan metode heuristic atau dengan berdasarkan sejumlah aturan. Ada tiga tujuan kecerdasan buatan, yaitu: membuat komputer lebih cerdas, mengerti tentang kecerdasan, dan membuat mesin lebih berguna. Yang dimaksud kecerdasan adalah kemampuan untuk belajar atau mengerti dari pengalaman, memahami pesan yang kontradiktif dan ambigu. Menanggapi dengan cepat dan baik atas situasi yang baru, menggunakan penalaran dalam memecahkan masalah serta menyelesaikannya dengan efektif. Pada gambar 2.1 menunjukkan bahwa AI mempunyai banyak ruang lingkup atau bidang. Bidang sistem pakar merupakan penyelesaian pendekatan yang sangat berhasil / bagus untuk permasalahan AI dari pemrograman intelligence (cerdas). 7 (Sri Hartati dan Sari Iswanti, 2012) Gambar 2.1. Ruang Lingkup Kecerdasan Buatan 2.2 Sistem Pakar Beberapa definisi yang ada untuk sistem pakar (Merlina dan Hidayat, 2012) : a. Menurut Durkin : Sistem pakar adalah suatu program komputer yang dirancang untuk memodelkan kemampuan penyelesaian masalah yang dilakukan oleh seorang pakar. b. Menurut Ignizio : Sistem pakar adalah suatu model dan prosedur yang berkaitan, dalam suatu domain tertentu, yang mana tingkat keahliannya dapat dibandingkan dengan keahlian seorang pakar. c. Menurut Giarratano dan Riley : Sistem pakar adalah suatu sistem komputer yang bisa menyamai atau meniru kemampuan seorang pakar. Sistem pakar merupakan suatu sistem komputer yang menyamai (emulates) kemampuan pengambilan keputusan dari seorang pakar. Istilah emulates berarti bahwa sistem pakar diharapkan dapat bekerja dalam semua hal seperti seorang pakar. Suatu 8 emulasi jauh lebih kuat dari pada suatu simulasi yang hanya membutuhkan sesuatu yang bersifat nyata dalam beberapa bidang atau hal. Walaupun tujuan umum penyelesaian masalah masih jauh dari apa yang diharapkan, namun sistem sistem pakar berfungsi sangat baik dalam batas domainnya. Hal ini dapat dibuktikan bahwa sistem pakar telah banyak diaplikasikan dalam berbagai bidang yang trend saat ini, seperti bisnis, kedokteran, ilmu pengetahuan, dan teknik. Hasil tersebut dengan mudah dapat ditemukan di dalam bukubuku, jurnal, konferensi-konferensi, dan produksi yang berkenaan dengan sistem pakar. Sistem pakar adalah salah satu cabang dari AI yang membuat penggunaan secara knowledge yang khusus untuk penyelesaian masalah tingkat manusia yang pakar. Seorang pakar adalah orang yang mempunyai keahlian dalam bidang tertentu, yaitu pakar yang mempunyai knowledge atau kemampuan khusus yang orang lain tidak mengetahui atau mampu dalam bidang yang dimilikinya. 2.3 Runut Maju (Forward Chaining) Runut maju merupakan proses perunutan yang dimulai dengan kumpulan data atau fakta yang meyakinkan menuju konklusi akhir runut maju bisa juga disebut sebagai penalaran forward (forward reasoning) atau pencarian yang dimotori data (data driven search). Jadi dimulai dari premis-premis atau informasi masukan dahulu, kemudian menuju konklusi atau driven information. Informasi masukan dapat berupa data, bukti, temuan, atau pengamatan. Sedangkan konklusi dapat berupa tujuan, hipotesa, penjelasan, atau diagnosis. Sehingga jalannya penalaran runut maju dapat dimulai dari data menuju tujuan, dari bukti menuju hipotesa, dari temuan menuju penjelasan, atau dari pengamatan menuju diagnosa. Salah satu aspek penting dari perolehan fakta adalah dengan menanyakan pertanyaan yang benar. Pertanyaan benar yang diajukan menghasilkan efisiensi dalam menghasilkan jawaban yang benar. Salah satu syarat yang nyata untuk hal ini adalah sistem pakar hanya akan menanyakan pertanyaan yang berhubungan dengan hipotesis yang dicoba buktikan. Terkadang ada seratus atau seribu pertanyaan yang akan ditanyakan sistem, maka ada biaya dalam waktu dan uang untuk mendapatkan fakta guna menjawab pertanyaan. Selain itu juga mengumpulkan tipe tertentu dari fakta seperti hasil tes medis yang mungkin tidak menyenangkan dan kemungkinan juga penuh resiko untuk pasien. 9 Metode inferensi ini yang akan digunakan dalam sistem pakar yang akan dibangun dengan contoh penalaran sebagai berikut : Contoh Kasus Sistem Pakar : Penasihat Keuangan Kasus : Seorang user ingin berkonsultasi apakah tepat jika dia berinvestasi pada stock IBM? Variabel-variabel yang digunakan : A = memiliki uang $10.000 untuk investasi B = berusia < 30 tahun C = tingkat pendidikan pada level college D = pendapatan minimum pertahun $40.000 E = investasi pada bidang Sekuritas (Asuransi) F = investasi pada saham pertumbuhan (growth stock) G = investasi pada saham IBM Setiap variabel dapat bernilai TRUE atau FALSE FAKTA YANG ADA : § Diasumsikan si user (investor) memiliki data: o Memiliki uang $10.000 (A TRUE) o Berusia 25 tahun (B TRUE) § Dia ingin meminta nasihat apakah tepat jika berinvestasi pada IBM stock? RULES : R1 : IF seseorang memiliki uang $10.000 untuk berinvestasi AND dia berpendidikan pada level college THEN dia harus berinvestasi pada bidang sekuritas R2 : IF seseorang memiliki pendapatan per tahun min $40.000 AND dia berpendidikan pada level college THEN dia harus berinvestasi pada saham pertumbuhan (growth stocks) R3 : IF seseorang berusia < 30 tahun AND dia berinvestasi pada bidang sekuritas THEN dia sebaiknya berinvestasi pada saham pertumbuhan R4 : IF seseorang berusia <> 22 tahun THEN dia berpendidikan college R5 : IF seseorang ingin berinvestasi pada saham pertumbuhan THEN saham yang dipilih 10 adalah saham IBM. Rule simplification: - R1: IF A and C, THEN E - R2: IF D and C, THEN F - R3: IF B and E, THEN F - R4: IF B, THEN C - R5: IF F, THEN G Solusi dengan Forward Chaining : - Step I : IF A and C Then E = R1 - Step II : IF B then C A,B,C -> True = R4 - Step III : If A and C then E A,B,C -> True = R2 - Step IV : If B ad E then F A,B,C,E,F -> true = R3 - step V : if F then G. G->True Kesimpulan : Cocok untuk investasi saham IBM (Muhammad Arhami, 2011) Gambar 2.2 Metode Forward Chaining 2.4 Diagnosa Diagnosa atau diagnosis menurut kamus besar bahasa Indonesia adalah penentuan suatu penyakit dengan cara meneliti gejala-gejalanya. 11 2.5 Gangguan (Penyakit) Gigi Sakit gigi biasanya merujuk kepada rasa sakit disekitar mulut atau rahang terutama sebagai akibat dari kondisi gigi. Dalam banyak kasus, sakit gigi disebabkan oleh masalah gigi seperti rongga gigi, gigi retak, suatu akar gigi terekspos, atau penyakit gusi. Tingkat keparahan sakit gigi dapat berkisar dari ringan hingga kronis, tajam dan menyiksa. Rasa sakit dapat diperburuk oleh mengunyah atau dingin atau panas. Kadang-kadang, sakit gigi mungkin disebabkan oleh masalah yang tidak berasal dari gigi atau rahang. Sakit di sekitar gigi dan rahang dapat menyebabkan gejala penyakit jantung (seperti angina atau serangan jantung), telinga (seperti eksternal infeksi telinga atau bagian dalam), dan sinus (udara bagian-bagian dari tulang pipi). Misalnya, sakit angina (pasokan darah beroksigen yang tidak memadai ke otot jantung karena penyempitan pembuluh darah ke jantung) biasanya terletak di bagian dada atau lengan. Namun, pada beberapa pasien dengan angina, rasa sakit gigi atau rahang adalah satu-satunya gejala dari masalah hati mereka. Infeksi dan penyakit telinga serta sinus juga dapat menyebabkan rasa sakit di sekitar gigi dan rahang. Oleh karena itu, evaluasi oleh dokter gigi dan dokter kadang-kadang diperlukan untuk mendiagnosa penyakit medis yang menyebabkan “sakit gigi” . (dr. Yekti Mumpuni dan Erlita Pratiwi, 2013) 2.6 Gigi dan Mulut Mulut dalam bahasa latin sering dikenal dengan kata oral atau oris. Mulut berukuran lebar atau tinggi 4-6 cm yang diukur ketika sedang menguap atau mulut terbuka lebar. Komponen organ yang menyertai mulut antara lain: gigi dan bibir sebagai pembatas sebelah depan, lidah sebagai pembatas sebelah bawah, faring sebagai pembatas bagian belakang, pipi sebagai pembatas sebelah samping dan pelatum (langit-langit) sebagai pembatas bagian atas. Gigi sendiri sebagai bagian dari mulut memiliki struktur, bentuk dan jumlah yang hamper sama pada setiap manusia. Pada anak-anak terdapat 20 gigi sulung, dimana tiaptiap rahangnya terdiri dari 4 gigi seri, 2 gigi taring, 4 gigi geraham. Untuk gigi dewasa, biasanya berjumlah 32 buah gigi tetap, pada tiap-tiap rahangnya terdapat 4 gigi seri, 2 gigi taring, 4 gigi geraham kecil, dan 6 gigi geraham besar. Pembeda antara tulang dengan gigi tetap adalah bentuk, ukuran, jumlah dan struktur giginya. (Dokter Gigi Gaul, 2013) 12 2.8 Basis Pengetahuan Basis pengetahuan mengandung pengetahuan untuk pemahaman, formulasi, dan penyelesaian masalah.Komponen sistem pakar ini disusun atas dua elemen yaitu fakta dan aturan. 2.9 Basis Data (DataBase) Database berasal dari kata base yang berarti basis atau pangkalan markas atau gudang tempat berkumpul. Dan data yang berarti sesuatu yang mempresentasikan sekumpulan informasi fakta yang nyata yang mewakili suatu objek seperti manusia (pegawai, mahasiswa, dosen, pelanggan, pembeli, pemasok, dll), barang, hewan, peristiwa (transaksi penjualan, pembelian), konsep, keadaan, dan sebagainya yang direkam dalam bentuk : angka, huruf, symbol, teks, gambar, bunyi, dsb. 2.10 PHP Menurut kamus komputer, PHP adalah bahasa pemograman untuk dijalankan melalui halaman web, umumnya digunakan untuk mengelolah informasi di internet. Sedangkan dalam pengertian lain PHP adalah singkatan dari PHP Hypertext Preprocessor yaitu bahasa pemograman web server-side yang bersifat open source atau gratis. PHP merupakan script yang menyatu dengan HTML dan berada pada server.(Rulianto Kurniawan, 2010:2). PHP Berjalan pada sisi server sehingga PHP disebut sebagai bahasa server side scripting. Artinya bahwa dalam setiap/untuk menjalankan PHP, wajib adanya server.PHP ini bersifat open source sehingga dapat dipakai secara Cuma-Cuma dan mampu lintas platform, yaitu dapat sistem operasi windows maupun linux. (Agus Saputra, 2011:1) Contoh terkenal dari aplikasi PHP adalah phpBB dan mediaWiki (software di belakang Wikipedia). PHP juga dapat dilihat sebagai pilihan lain dari ASP.NET/C#, VB.NET Microsoft, CouldFusion Macromedia, JSP/kompleks berupa CMS yang dibangun menggunakan PHP adalah Mambo, Joomla!, Postnuke, Xaraya, dan lain-lain. (Rulianto Kurniawan, 2010:2) 13 2.11 MYSQL (Structured Query Language) Jika anda ingin membuat website yang interaktif dan dinamis, perlu adanya media penyimpanan data yang fleksibel dan mudah untuk diakses. Dalam bahasa pemograman sering ada istilah database. Database adalah kumpulan data-data yang saling terkait, tersimpan, dan mudah diakses. Salah satu program yang dapat digunakan sebagai database adalah MySQL.MySQL merupakan salah satu software untuk database server yang banyak digunakan. MYSQL bersifat open source dan menggunakan SQL.MySQL bisa dijalankan di berbagai platform misalnya windows, linux, dan lain sebagainya. MySQL memiliki beberapa kelebihan antara lain: 1. Multiuser. MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah. 2. Peformance tuning. MySQL memiliki kecepatan yang bagus dalam menagani query sederhana, yaitu dapat memproses lebih banyak SQL persatuan waktu. 3. Jenis kolom. MySQL memiliki tipe kolom yang sangat kompleks, seperti signed/unsigned integer, float, double, char, text, date, dan timestamp, dan masih banyak lagi. 4. Perintah dan fungsi .MySQL memiliki operator dan fungsi secara penuh dan mendukung perintah select dan where dalam perintah query. 5. Keamanan. MySQL memilki keamanan yang bagus karena beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang lengkap serta sandi tersenkripsi. 6. Skalabilitas 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. 7. Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan protokol tcp/ip, unix soket (UNIX), atau named pipes (NT). 8. Lokalisasi. MSQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. 14 9. Antar muka. MySQL memiliki interface (antar muka) terhadap aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Aplication Programming Interface). 10. Probabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti windows, linux, freeBSD, mac OS X server, solaris, amiga, dan masih banyak lagi. 11. Open source. MySQL didistribusikan secara open sorce, di bawah lisensi GPL sehingga dapat digunakan secara gratis. 12. Klien dan peralatan. MySQL dilengkapi dengan berbagai peralatan yang dapat digunakan unuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petujuk online. 13. Struktur dan Tabel. MySQL memliki struktur tabel yang lebih fleksibel dalam menangani ALTER ABLE, dibandingkan basis data lainnya, misalnya oracle. (Puspitosari, 2011:19) 2.12 APACHE2TRIAD Solution Stack adalah sekumpulan perangkat lunak atau sekumpulan komponen yang dibutuhkan untuk dapat menyelesaikan suatu masalah secara tuntas. Misalnya, untuk mengembangkan sebuah perangkat lunak aplikasi web dibutuhkan : Sistem Operasi, Web Server, DBMS dan bahasa pemrograman. Apache2Triad adalah distribusi kumpulan open source software dan Interpreter Solution Stack WAMP (Windows, Apache, MySQL, PHP, Perl, Phyton) untuk mengembangkan aplikasi web dengan platform Windows yang berisi : Server: • Apache (web server) • MySQL (database server) • PostgreSQL (database server) • XMail (e-mail server) • SlimFTPd (ftp server) 15 Interpreter: • PHP (scripting language) • Perl (scripting language) • Python (scripting language) Graphic User Interfaces: • Apache2Triad CP (Control Panel) • phpMyAdmin (MySQL GUI) • phpPgAdmin (PostgreSQL GUI) • phpSQLiteAdmin (SQLite GUI) • AWStats (WebServer Monitor) • UebiMiau (E-Mail Client) • PHPXMail (XMail GUI) • PHPsFTPd (SlimFTPd GUI) Saat Apache2Triad diinstall, semua software tersebut telah berhasil diinstall. Apache2triad biasa disebut sebuah distribusi perangkat lunak webserver karena dia menyediakan semua kebutuhan aplikasi web, yaitu : server, interpreter dan user interface yang telah dikonfigurasikan dan siap digunakan.(Bunafit Nugroho, 2011) 2.13 Pengujian White Box Teknik pengujian ini menggunakan struktur kontrol dari perancangan procedural untuk mendapatkan test case. Test case dilakukan untuk memastikan bahwa semua statement pada program telah dieksekusi setidaknya sekali selama masa pengujian dan bahwa semua kondisi logis telah diuji dan terpenuhi. Tahapan pengujian dimulai dari pengujian unit, integrasi, sistem dan penerimaan. Berikut penjelasan mengenai tahapan pengujian tersebut: 1. Pengujian Unit Pengujian unit fokus pada usaha verifikasi pada unit terkecil perangkat lunak, yaitu modul. Pengujian unit selalu berorientasi pada white box testing dan 16 dapat dikerjakan pararel atau beruntun dengan modul lainnya. Pengujian ini dilakukan oleh developer sendiri. 2. Pengujian Integrasi Pengajuan integrasi adalah teknik yang sistematis untuk penyusunan struktur program, pada saat bersamaan dikerjakan pengujian untuk memeriksa kesalahan yang nantinya digabungkan dengan interface. Pengujian ini dilakukan untuk mengetahui apakah suatu modul tetap bekerja dengan baik setelah diintegrasikan dengan modul lain. Metode pengujian pada tahap ini ada dua, yaitu top down integration dan bottom up integration. Top down integration pendekatan incremental dengan menggerakkan ke bawah melalui hirarki kontrol, dimulai dari kontrol utama. Jadi metode ini memeriksa kontrol mayor terlebih dahulu diawal pengujian, dan bergerak hirarki ke bawah. Bottom up integration memulai pengujian dari modul atomi (modul pada tingkat paling bawah dalam struktur program). 3. Pengujian Sistem Pengujian sistem dilakukan untuk mengetahui apakah semua komponen program bekerja sama dengan baik setelah digabungkan menjadi sebuah sistem. Pengujian ini dilakukan setelah pengujian integrasi selesai. 4. Pengujian Penerimaan Pengujian penerimaan merupakan white box testing yang dilakukan pada suatu sistem perangkat lunak sebelum sistem tersebut diserahkan kepada pengguna (klien). Pengujian ini sering juga disebut end-user testing. Pengujian ini dilakukan oleh pengguna atau klien yang akan menggunakan sistem yang dibuat. White Box Testing merupakan cara pengujian dengan melihat ke dalam modul untuk meneliti kode-kode program yang ada, dan menganalisis apakah ada kesalahan atau tidak. Jika ada modul yang menghasilkan output yang tidak sesuai dengan proses bisnis yang dilakukan, maka baris-baris program, variabel, dan parameter yang terlibat pada unit tersebut akan dicek satu persatu dan diperbaiki, kemudian di-compile ulang. 2.13.1 Kegunaan White Box Testing 1. Menguji semua keputusan logikal 17 2. Menguji seluruh Loop yang sesuai dengan batasannya 3. Menguji seluruh struktur data internal yang menjamin validitas 2.13.2 Kelebihan White Box Testing • Kesalahan Logika Digunakan pada sintaks „if‟ dan pengulangan. Dimana White Box Testing akan mendeteksi kondisi-kondisi yang tidak sesuai dan mendeteksi kapan proses pengulangan akan berhenti. • Ketidaksesuaian asumsi Menampilkan asumsi yang tidak sesuai dengan kenyataan, untuk di analisa dan diperbaiki. • Kesalahan ketik Mendeteksi bahasa pemrograman yang bersifat case sensitive. 2.13.3 Kelemahan White Box Testing Untuk perangkat lunak yang tergolong besar, White Box Testing dianggap sebagai strategi yang tergolong boros, karena akan melibatkan sumber daya yang besar untuk melakukannya. 2.13.4 Basis Path Testing Basis Path Testing memungkinkan perancang test case mendapatkan ukurankompleks logical dari perancangan prosedural dan menggunakan ukuran ini sebagai petunjuk untuk mendefinisikan himpunan jalur yang akan diuji. Basis Pathmenggunakan notasi graph atau flow graph untuk menggambarkan aliran kontrolnya. 18 Gambar 2.3 FlowGraphWhite Box Testing Lingkaran Urutan proses (node), menggambarkan dan keputusan dapat satu dipetakan atau dalam lebih perintah prosedural. satu node. Tanda panah (edge),menggambarkan aliran kontrol. Setiap node harus mempunyai tujuan node. Region adalah daerah yang dibatasi oleh edge dan node. Termasuk daerah diluar grafik alir. 2.13.5 Cyclomatic Complexity Cyclomatic Complexity merupakan suatu sistem pengukuran yang menyediakan ukuran kuantitatif dari kompleksitas logika suatu program. Pada Basis Path Testing, hasil dari cyclomatic complexity digunakan paths. Independent path adalah untuk sebuah menghubungkannode awal dengan node akhir. Terdapat persamaan yang digunakan, yaitu: V(G) = E - N + 2 Keterangan: V(G) = cyclomatic complexity untuk flow graph G E = Jumlah edge (panah) N = Jumlah node (lingkaran) (Ega Hegarini, 2013) menentukan kondisi banyaknya independent pada program yang 19 2.14 Model Waterfall Waterfall Model adalah sebuah metode pengembangan software yang bersifat sekuensial yang saling terkait dan mempengaruhi seperti terlihat pada gambar berikut : ( Rosa A.S – M Shalahuddin, 2011 : 27) Gambar 2.4 Waterfall Model Berikut ini adalah penjelasan dari tahapan – tahapan model waterfall: 1. Analisis kebutuhan perangkat lunak Proses pengumpulan kebutuhan dilakukan secara intensif untuk mespesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat lunak seperti apa yang dibutuhkan oleh user. Spesifikasi kebutuhan perangkat lunak pada tahap ini perlu untuk didokumentasikan 2. Desain Desain perangkat lunak adalah proses multilangkah yang fokus pada desain pembuatan program perangkat lunak termasuk struktur data, arsitektur perangkat lunak, representasi antarmuka, dan prosedur pengodean. Tahap ini menstranslasi kebutuhan perangkat lunak dari tahap analisis kebutuhan ke representasi desain agar dapat diimplementasikan menjadi program pada tahap selanjutnya desain perangkat lunak yang dihasilkan pada tahap ini juga perlu didokumentasikan. 20 3. Pembuatan kode program Desain harus ditranslasikan kedalam program perangkat lunak.Hasil dari tahap ini adalah program komputer sesuai dengan desain yang telah dibuat pada tahap desain. 4. Pengujian Pengujian fokus pada perangkat lunak secara dari segi lojik dan fungsional dan memastikan bahwa semua bagian sudah diuji.Hal ini dilakukan untuk meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan.(Rosa A.S – M. Shalahudin, 2011). 2.15 Flowchart Flowchart merupakan salah satu teknik yang digunakan dalam melakukan analisa yang berfungsi untuk menggambarkan beberapa aspek dari sistem informasi dalam suatu sistem secara jelas dan tepat. Flowchart menggunakan simbol-simbol tertentu yang standar untuk menggambarkan prosedur transaksi yang ada dalam suatu perusahaan serta aliran data dalam suatu sistem (Romney and Steinbart, 2011). Simbol-simbol yang digunakan dalam flowchart : Tabel 2.1 Simbol Flowchart Simbol Nama Terminal Keterangan Menggambarkan awal dan akhir dari suatu flowchart Input/Output Menggambarkan input atau output dari suatu flowchart Computer Menggambarkan Processing fungsional dan computer processing yang umumnya menyebabkan 21 perubahan data/informasi Decision Menggambarkan proses suatu pengambilan keputusan yang menunjukan keputusan suatu alternative path On-Page Connector Menghubungkan suatu Processing pada Flow suatu halaman yang sama Document/Processi Menggambarkan arah dari ng Flow suatu proses atau aliran dokumen Document/Processi Menggambarkan ng Flow proses terhadap suatu perulangan yang terdapat didalam looping tersebut, dimana jumlah-jumlah pengulangan merupakan suatu variable yang pasti