SKRIPSI DETEKSI KEMIRIPAN SOURCE CODE PADA BAHASA PEMROGRAMAN JAVA MENGGUNAKAN METODE ANALISIS LEKSIKAL

Ukuran: px
Mulai penontonan dengan halaman:

Download "SKRIPSI DETEKSI KEMIRIPAN SOURCE CODE PADA BAHASA PEMROGRAMAN JAVA MENGGUNAKAN METODE ANALISIS LEKSIKAL"

Transkripsi

1 SKRIPSI DETEKSI KEMIRIPAN SOURCE CODE PADA BAHASA PEMROGRAMAN JAVA MENGGUNAKAN METODE ANALISIS LEKSIKAL Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik HOLIS HERMANSYAH E1E JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS HALU OLEO KENDARI 2016 i

2 ii

3 iii

4 iv

5 INTISARI Holis Hermansyah, E1E DETEKSI KEMIRIPAN SOURCE CODE PADA BAHASA PEMROGRAMAN JAVA MENGGUNAKAN METODE ANALISIS LEKSIKAL Skripsi, Fakultas Teknik, 2016 (xii+53+lampiran) Kata kunci : Source Code, Analisis leksikal,java,token,plagiarism Laboratorium Pemrograman Jurusan Teknik Infomatika Fakultas Teknik Universitas Halu Oleo sebagai tempat pembelajaran bagi para mahasiswa informatika yang mengikuti kelas pemrograman selalu memberikan praktikum sebagai salah satu media pengukur tingkat pemahaman mahasiswa dalam hal membuat program. Banyaknya source code yang harus diperiksa oleh Dosen atau Assisten Laboratorium mengakibatkan sulitnya melakukan pemeriksaan serta sulitnya mengukur kredibilitas masing-masing tugas milik mahasiswa Metode deteksi kemiripan kode menggunakan Analisis Leksikal dapat digunakan untuk merubah kode menjadi token unik. Token ini digunakan untuk mengidentifikasi struktur program yang diperiksa. Sebelum proses pencocokan token menggunakan array, terlebih dahulu token yang terbentuk dari kedua source code yang diperiksa di sorting atau diurutkan berdasarkan abjad. Setelah itu dilakukan proses pencocokan string menggunakan array per posisi array. Semakin besar kemiripan alur dan kode program maka semakin besar kemungkinan kode tersebut merupakan plagiat. Nilai presentase kemiripan kode program yang dihasilkan dari proses pencocokan token ini yang nantinya digunakan sebagai acuan penentuan plagiarisme dengan ketentuan jika nilai presentase lebih besar atau sama dengan 70 % maka source dianggap plagiat, namun jika lebih kecil dari 70% tidak dianggap sebagai plagiat. v

6 ABSTRACT Holis Hermansyah, E1E Source Code Similarity Detection in Java Programming Language Using Lexical Analysis Method Mini Thesis, Faculty of Engineering, 2016 (xii+53+attachments) Keyword : Source Code, Lexical Analysis, Java, Token, Plagiarism Programming Laboratory of Informatics Engineering Department of Engineering Faculty, Halu Oleo University is a learning place for college students majoring in informatics to follow programming class that become one of the standard to determine the student s level of understanding in creating a program. Similarity detection method using Lexical analysis can be used to convert the programming code into an unique token. This token later used to identify the structure of a program that is being examined. After that, the token that already formed from two different source codes will be sorted alphabetically before entering the string matching process by using arrays. The string matching process will do the matching based on the position of each array. The more the similarities of the structure and the program codes, the more likely the code represented as plagiarism. The percentage value resulting from the token matching process later will be used as reference to determine the percentage of plagiarism in the program. If the similarities percentage greater than 70%, the examined source codes can be considered as plagiarism, but if it less than 70% the examined source codes will be not considered as plagiarism. vi

7 KATA PENGANTAR Assalamualaikum Wr. Wb. Segala puji dan syukur penulis panjatkan kehadirat Allah SWT, karena atas rahmat dan ridho-nya penulisan skripsi yang berjudul Deteksi Kemiripan Source Code Pada Bahasa Pemrograman Java Menggunakan Metode Analisis Leksikal ini dapat disusun dan diselesaikan sebagai syarat menyelesaikan studi di Jurusan Teknik Informatika Fakultas Teknik Universitas Halu Oleo Kendari. Pada kesempatan ini dengan segala kerendahan hati penulis haturkan sebuah ucapan terima kasih yang sebesar-besarnya kepada : 1. Allah SWT yang telah menciptakan dan menuntun penulis hingga dapat menyelesaikan skripsi ini. 2. Ayahanda Jamidin, ibunda Saliyah, saudaraku Nuryoni, S.Pi, Sunarty, S.Ip, dan Nurmiftahuddin, S.Hut atas doa dan dukungan moral yang diberikan kepada penulis. 3. Bapak Bambang Pramono, S.Si.,MT dan Bapak Subardin, ST., MT sebagai dosen pembimbing skripsi yang banyak memberikan masukan dan saran serta ketersediaan untuk meluangkan waktunya dengan penulis untuk memberikan arahan arahan yang sangat berguna. 4. Andi Iswahyuningsih, ST, Na firul Hasna Ariyani dan Hasrul Dimas Asgari yang turut membantu penulis dalam menyelsaikan tugas akhir ini. 5. Kawan-kawan di jurusan Teknik Informatika, khususnya angkatan 2011 dan kawankawan di Fakultas Teknik pada umumnya yang memberikan saran dan semangatnya selama proses penyelesaian skripsi ini. Dengan keterbatasan pengalaman, pengetahuan maupun pustaka yang ditinjau, penulis menyadari bahwa tugas akhir ini masih banyak kekurangan dan perlu pengembangan lebih lanjut agar benar-benar bermanfaat. Oleh sebab itu, penulis sangat mengharapkan kritik dan saran agar tugas akhir ini lebih sempurna serta sebagai masukan bagi penulis untuk penelitian dan penulisan karya ilmiah di masa yang akan datang. vii

8 semua. Akhir kata, penulis berharap tugas akhir ini memberikan manfaat bagi kita Kendari, April 2016 P e n u l i s viii

9 DAFTAR ISI HALAMAN JUDUL... i HALAMAN PENGESAHAN... ii HALAMAN PERNYATAAN... iv INTI SARI... v ABSTRACT... vi KATA PENGANTAR... vii DAFTAR ISI... ix DAFTAR TABEL... xi DAFTAR GAMBAR... xii BAB I PENDAHULUAN Latar Belakang Rumusan Masalah Batasan Masalah Tujuan Penelitian Manfaat Penelitian Sistematika Penulisan Tinjauan Pustaka... 4 BAB II LANDASAN TEORI Plagiarisme Pengertian Plagiarisme Jenis-Jenis Plagiarisme Source Code Analisis Leksikal Tipe-Tipe Token Tahap Analisis Leksikal Implementasi Analisis Leksikal Pemrograman Java Netbeans Perancangan Sistem Pengertian UML (Unified Modeling Language) Bangun Dasar Metodologi UML Tujuan Penggunaan UML Flow Chart BAB III METODOLOGI PENELITIAN Waktu dan Tempat Penelitian Waktu Penelitian Tempat Penelitian Metode Pengumpulan Data Metode Pengembangan Sistem BAB IV ANALISIS DAN PERANCANGAN SISTEM Analisis Sistem ix

10 4.1.1 Sistem Yang Sedang Berjalan Sistem Yang Diusulkan Perancangan Sistem Diagram Usecase Diagram Activity Diagram Squence Analisis Kebutuhan Sistem Kebutuhan Data Masukan Kebutuhan Data Keluaran Flowchart Perancangan Antar Muka (Interface) Ilustrasi Metode Analisis Leksikal Terhadap Perencanaan Aplikasi Analisis Leksikal Sorting Perhitungan Nilai Kemiripan BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM Implementasi Sistem Interface Aplikasi Pengujian Sistem Pengujian Fungsionalitas Aplikasi Hasil Analisa BAB VI PENUTUP Kesimpulan Saran DAFTAR PUSTAKA LAMPIRAN x

11 DAFTAR TABEL Tabel 2.1 Tipe-Tipe Token... 9 Tabel 2.2 Simbol Use Case Diagram Tabel 2.3 Simbol Squence Diagram Tabel 2.4 Simbol Activity Diagram Tabel 2.5 Simbol Flow Chart Tabel 3.1 Waktu Penelitian Tabel 4.1 Hasil Analisis Leksikal Source Asli Tabel 4.2 Hasil Analisis Leksikal Source Pembanding Tabel 4.3 Hasil Sorting Source Asli Tabel 4.4 Hasil Sorting Source Pembanding Tabel 5.1 Daftar Nama Class Source Asli Tabel 5.2 Daftar Nama Class Source Pembanding Tabel 5.3 Hasil Analisa Pengujian Sistem xi

12 DAFTAR GAMBAR Gambar 2.1 Flowchart Tahap Analisis Leksikal Gambar 4.1 Diagram Usecase Gambar 4.2 Diagram Activity Menu Scanning Gambar 4.3 Diagram Activity Menu Open File Gambar 4.4 Diagram Activity Menu Help Gambar 4.5 Diagram Squence submenu Scanning Gambar 4.6 Flowchart program Gambar 4.7 Desain Interface Aplikasi Gambar 4.8 Source Asli Gambar 4.9 Source Pembanding Gambar 5.1 Tampilan Progress Bar Gambar 5.2 Tampilan Utama Gambar 5.3 Tampilan Dialog Open Source Gambar 5.4 Tampilan Source Code Yang Telah Di Input Gambar 5.5 Tampilan Hasil Scanning Kemiripan Gambar 5.6 Menampilkan Hasil Analisis Gambar 5.7 Menampilkan Token Yang Sama Gambar 5.8 Menampilkan Token Yang Tidak Sama Gambar 5.9 Tampilan Help Gambar 5.10 Tampilan About xii

13 BAB I PENDAHULUAN 1.1. Latar Belakang Laboratorium Rekayasa Perangkat Lunak Jurusan Teknik Infomatika Fakultas Teknik Universitas Halu Oleo sebagai tempat pembelajaran bagi para mahasiswa informatika yang mengikuti kelas pemrograman selalu memberikan praktikum sebagai salah satu media pengukur tingkat pemahaman mahasiswa dalam hal membuat program. Pemrograman adalah proses menulis, menguji dan memperbaiki, dan memelihara kode yang membangun sebuah program komputer. Kode ini ditulis dalam berbagai bahasa pemrograman. Bahasa pemrograman merupakan alat yang sangat penting bagi programmer untuk mengimplementasikan algoritma. Tiap bahasa pemrograman memiliki kelebihan dan kekurangan tersendiri, dan programmer memiliki referensi tersendiri dalam memilih suatu bahasa pemrograman. Beberapa faktor penting seseorang dalam memilih bahasa pemrograman adalah syntax, editor, dokumentasi, performa, library, fleksibilitas, komunitas dan popularitas. Banyaknya source code yang harus diperiksa oleh Dosen atau Assisten laboratorium mengakibatkan sulitnya melakukan pemeriksaan serta sulitnya mengukur kredibilitas masing-masing tugas milik mahasiswa. Kode program terperiksa yang memiliki tingkat similarity (kemiripan) yang cukup tinggi antar kode dapat dijadikan acuan adanya tindakan-tindakan kecurangan seperti melakukan tindakan plagiat kode terhadap tugas mahasiswa lain. Metode deteksi kemiripan kode menggunakan analisis leksikal dapat digunakan untuk merubah kode menjadi node ataupun token unik masing-masing kode terperiksa. Semakin besar kemiripan maka semakin besar kemungkinan kode tersebut merupakan hasil plagiat. Pada judul yang diajukan, sistem akan melakukan analisis leksikal pada program yang diperiksa dalam hal ini bahasa pemrograman Java. Analisis ini meliputi pengubahan source code kedalam 1

14 2 bentuk token-token yang memiliki nama atau id yang unik, penghapusan komentar,serta penghapusan white space. Kemudian dilakukan pencocokan source code yang telah menjadi token yang memiliki kesamaan pada program pembanding berdasarkan struktur yang terbentuk. Jika ditemukan id token dan token yang sama pada posisi yang sama maka program akan mencatatnya dan kemudian menghitung tingkaat kemiripan source code tersebut dan memberikan nilai presentase (similarity). 1.2 Rumusan Masalah Rumusan masalah dalam penelitian ini adalah sebagai berikut: 1. Bagaimana membangun aplikasi deteksi kemiripan Source code pada bahasa pemrograman java menggunakan metode analisis leksikal. 2. Bagaimana akurasi aplikasi deteksi kemiripan source code tersebut dapat mendeteksi kemiripan dua source code. 1.3 Batasan Masalah Batasan masalah dalam penelitian ini adalah sebagai berikut: 1. Source code yang diperiksa dalam aplikasi ini adalah source code java. 2. File pembanding yang diperiksa adalah dokumen dalam bentuk class file java bukan dalam bentuk project. 3. Source code yang diperiksa merupakan source code pemrograman dasar yang sekurang-kurangnya memiliki algoritma. 1.4 Tujuan Penelitian Tujuan dalam penelitian ini adalah sebagai berikut: 1. Membangun sistem aplikasi deteksi kemiripan source code pada bahasa pemrograman java menggunakan metode analisis leksikal. 2. Mengetahui akurasi kemiripan (similarty) antara satu file dengan file lainnya.

15 Manfaat Penelitian Manfaat penelitian dalam penelitan ini adalah : 1. Dapat membantu instansi pendidikan dalam mendeteksi hasil praktikum dan tugas yang diberikan. 2. Mengetahui tingkat kemiripan (similarity) source code antara file yang satu dengan yang lain. 3. Dengan mengetahui persentase kemiripan source code, sehingga dapat digunakan sebagai bahan pertimbangan untuk mendeteksi adanya tindakan plagiat. 4. Mempercepat proses pengoreksian dengan cepat dan efektif Sistematika Penulisan Sistematika dalam skripsi ini terdiri dari beberapa bagian utama yaitu sebagai berikut: BAB I Pendahuluan Merupakan bab pendahuluan yang menguraikan latar belakang masalah, rumusan masalah, tujuan penelitian, manfaat penelitian, batasan masalah dan sistematika penulisan. BAB II Landasan Teori Membahas mengenai dasar-dasar teori pendukung yang digunakan dalam penelitian ini seperti plagiat, bahasa pemrograman java, metode leksikal, source code. BAB III Metodologi Penelitian Membahas mengenai waktu dan tempat penelitian, metode pengumpulan data, metode pengembangan sistem yang digunakan dalam penelitian tugas akhir ini. BAB IV Analisis dan Perancangan Sistem Pada bagian ini diuraikan analisis sistem yang akan dibuat dan kebutuhan sistem yang meliputi kebutuhan fungsional, kebutuhan non fungsional sistem.

16 4 Rancangan sistem meliputi rancangan arsitektur sistem, rancangan proses, rancangan prosedural, rancangan data, dan rancangan user interface. BAB V Implementasi dan Pengujian Sistem Menguraikan tentang implementasi dan pengujian dari perangkat lunak yang dibangun berdasarkan hasil analisis dan perancangan (desain) pada bab sebelumnya. BAB VI Penutup Menguraikan kesimpulan penelitian dan saran-saran sebagai bahan pertimbangan untuk pengembangan penelitian Tinjauan Pustaka Penelitian ini didasarkan pada penelitian sebelumnya yang dilakukan oleh Budhy (2014) yang berjudul Deteksi Similarity Source Code Menggunakan Metode Deteksi Abstract Syntax Tree dalam penelitian tersebut cara mendeteksi kemiripan code menggunakan Abstract Syntax Tree dapat digunakan untuk merubah code menjadi node ataupun token unik masing-masing code terperiksa. Semakin besar kemiripan maka semakin besar kemungkinan code tersebut merupakan hasil plagiat. Salah satu penelitian yang mendasari penelitian ini adalah penelitian yang dilakukn oleh Aulia, (2013) Pemanfaatan Algoritma Rabin-Karp untuk Mengetahui Tingkat Kemiripan dari Source Code pada pemrograman lisp dalam penelian tersebut membangun sistem deteksi plagiarism kode sumber lisp dengan tahapan pencocokan yang diawali dengan menghilangkan spasi pada string, membagi string ke substring substring, menghitung hash tiap substring menggunakan teknik rolling hash kemudian menghitung persentase kemiripan antar dokumen menggunakan Dice Similarity Coeficient. Redya Febriyanto dkk. (2006) dalam penelitiannya yang berjudul Penerapan Algoritma Boyer-Moore Untuk Pengecekan Plagiatisme Source Code dalam penelitian tersebut proses pendeteksian plagiatisme menggunakan penghitungan jumlah prosedur/fungsi, loop, if dan variable dengan pembobotan

17 5 sederhana. Aplikasi melakukan scanning keyword-keyword tertentu menggunakan Boyer-Moore untuk menentukan bagian dari source yang memenuhi kondisi tertentu. Setelah seluruh prosedur/fungsi selesai diperiksa maka langkah terakhir membandingkan elemen array dari source code yang dicurigai melakukan plagiatisme terhadap source yang asli. Jika didapati ada prosedur/fungsi yang sama maka akan dicatat sebagai satu kesamaan kemudian dilakukan perhitungan presentase kemiripan. Dari beberapa penelitian tersebut yang mendasari penulis untuk melakukan penelitian yang berjudul Deteksi Kemiripan Source Code Pada Bahasa Pemrograman Java Menggunakan Metode Analisis Leksikal. Yang membedakan dengan penelitian sebelumnya yaitu, pada penelitian ini tidak hanya mendeteksi source-nya saja melainkan juga dengan mendeteksi dari alur atau struktur source code yang diperiksa. Sebagai contoh pada program perulangan, walaupun isi source mempunyai banyak kesamaan namun secara logika source berbeda, misalkan source satu menggunakan perulangan for sedangkan yang source kedua menggunakan while, maka source tersebut tidak bias dianggap sebagai plagiat, begitu juga sebaliknya.

18 BAB II LANDASAN TEORI 2.1. Plagiarisme Pengertian Plagiarisme Plagiarisme merupakan tindakan kriminal yang sering terjadi dalam dunia akademis. Plagiarisme itu sendiri berasal dari kata latin Plagiarus yang berarti penculik dan Plagiare yang berarti mencuri. Jadi, secara sederhana plagiat berarti mengambil ide, kata-kata, dan kalimat seseorang dan memposisikannya sebagai hasil karyanya sendiri atau mengunakan ide, kata-kata, dan kalimat tanpa mencantumkan sumber dimana seorang penulis mengutipnya (Sastroasmoro, 2007). Dalam Kamus Besar Bahasa Indonesia (2008) disebutkan: "Plagiat adalah pengambilan karangan (pendapat dan sebagainya) orang lain dan menjadikannya seolah-olah karangan (pendapat) sendiri". Plagiat dapat di anggap sebagai tindak kriminal karena mencuri hak cipta orang lain. Di dalam dunia akademis, pelaku plagiarisme akan mendapat hukuman yang berat. Pelaku plagiat disebut plagiator Jenis-Jenis Plagiarisme Terdapat jenis jenis plagiarism, menurut Sudigdo Sastroasmoro dalam makalahnya berjudul Beberapa Catatan tentang Plagiarisme pada tahun 2007, mengklasifikasikan plagiarisme dalam empat jenis. Jenis plagiarisme berdasarkan klasifikasinya diantaranya: a. Jenis plagiarisme berdasarkan aspek yang dicuri Dalam klasifikasi ini terdiri atas 4 kategori yaitu kategori plagiarisme ide, plagiarisme isi, plagiarisme kata, kalimat, paragraf, dan plagiarisme total. Plagiarisme ide sering dikaitkan dengan penelitian replikatif. Penelitian reflikatif adalah penelitian yang berdasarkan atas ide orang lain. Apabila dalam melakukan penelitian, analisis yang digunakan sama dengan penelitian sebelumnya sama, 6

19 7 maka harus mencantumkan sumber dan alasan ilmiah mengapa penelitian ulang tersebut perlu dilakukan. b. Klasifikasi berdasarkan sengaja atau tidaknya plagiarisme Plagiarisme sengaja adalah mencuri atau dengan sengaja menjiplak hasill karya orang lain dengan kepentingannya sendiri. Hal ini dapat terjadi bila seseorang menjiplak ide, kata, frasa, kalimat atau pragraf tanpa mencantumkan sumbernya dan dilakukan dengan sadar untuk kepentingan sendiri. Plagiarisme tidak disengaja adalah plagiarisme yang terjadi karena ketidaktahuan. Ketidaktahuan ini biasa terjadi dalam menggunakan dokumentasi, teknik mengutip karya tulis, dan parafrase kalimat yang keliru. Meskipun plagirisme tidak disengaja namun sanksi yang dikenakan sama seperti plagiarisme yang disengaja. Hal tersebut dapat dicegah dengan menunjukan bagaimana menghindari plagiarisme. c. Klasifikasi berdasarkan proporsi atau persentase kata, kalimat, paragraf yang dibajak 1. Plagiarisme ringan, plagiarisme yang jumlah poporsi atau persentase kata, kalimat, paragraf yang dibajak tidak melebihi 30 persen (< 30%). 2. Plagiarisme sedang, plagiarisme yang jumlah poporsi atau persentase kata, kalimat, paragraf yang dibajak antara persen. 3. Plagiarisme berat, plagiarisme yang jumlah poporsi atau persentase kata, kalimat, paragraf yang dibajak lebih dari 70 persen (>70%). d. Berdasarkan pada pola plagiarisme Berdasarkan pada pola plagiarisme dibedakan menjadi dua yaitu plagiarisme kata demi kata (word for word plagiarizing) dan plagiarisme mosaik. Plagiarisme kata demi kata (word for word plagiarizing) adalah pola plagiarisme dengan melakukan penjiplakan sebagian kecil kalimat, dapat juga satu paragraf, atau seluruh isi meskipun di tulis dengan bahasa lain. Sedangkan plagiarisme mosaik adalah penyajian tidak dilakukan kata demi kata, tapi menyipkan kata atau frase dari beberapa karya orang lain tanpa menuliskan sumbernya sehingga memberi kesan kalimat tersebut adalah asli penulis.

20 Source Code Dalam bahasa pemrograman, kita mengenal adanya Source Code, Dalam ilmu komputer, source code (atau disebut juga source) adalah kumpulan pernyataan atau deklarasi bahasa pemrogramman komputer yang ditulis dan dapat di baca manusia. Source Code memungkinkan programmer untuk berkomunikasi dengan komputer menggunakan beberapa perintah yang telah terdefinisi. Source code merupakan sebuah program yang biasanya dibuat dalam satu atau lebih file teks, kadang-kadang disimpan dalam database yang disimpan sebagai prosedur dan dapat juga muncul sebagai potongan kode yang tercetak di buku atau media lainnya. Banyaknya koleksi file source code dapat diatur dalam direktori pohon, dalam hal ini mungkin juga dikenal sebagai source tree. Executable Binary atau yang lebih dikenal dengan Executable-code adalah kode yang bisa dieksekusi oleh komputer sedangkan source code tidak dapat dieksekusi oleh komputer. Sedangkan intermediate-code (kode antara) merupakan bentuk yang terletak diantara source-code dan executable-code (Arifin, 2011) Analisis Leksikal Menurut Henryw (2014) analisis leksikal merupakan fungsi analisis dalam compiler yang bertugas mendekomposisi program sumber menjadi bagian-bagian kecil (token). Analisis leksikal atau scanner bertugas mengidentifikasi semua besaran pembangun bahasa (leksikal) yang ada pada source code. Scanner menerima masukan source code berupa serangkaian karakter kemudian memilahmilahnya menjadi bagian-bagian kecil yang mempunyai satu arti yang disebut token, seperti : konstanta, nama variabel, keyword, operator. Token-token ini akan menjadi masukan bagi analisis selanjutnya yaitu analisis sintaksis. Dari fungsi scanner secara umum seperti telah disebutkan di atas, maka tugas scanner secara rinci adalah: 1. Membaca serangkaian karakter dari source code. 2. Mengenalinya ke dalam satuan leksikal. 3. Mengubahnya menjadi token dan menentukan jenis tokennya. 4. Mengirimkan token ke proses analisis selanjutnya, yaitu analisis sintaksis.

21 9 5. Mengabaikan karakter white space (spasi, enter, ganti baris, penanda akhir file) dan komentar (remark) apabila ada di dalam source code. 6. Menangani error. 7. Menangani tabel simbol Scanner bekerja berdasarkan prinsip mesin Finite State Automata (FSA). Diagram keadaan dapat digunakan untuk membantu mengkonstruksi scanner. Besaran pembangun bahasa (leksikal) meliputi: 1. Identifier Identifier atau pengenal dapat berupa: a. Kata tercadang atau kata kunci (reserve word) yang telah didefinisikan oleh bahasa pemrograman. b. Kata yang dideklarasikan sendiri oleh pemakai (si pembuat program) disebut dengan variabel. 2. Nilai konstanta Nilai konstanta disini dapat berupa: integer, real, boolean, character, String, dan sebagainya. 3. Operator dan Delimineter a. Operator aritmatika ( +, -, *, / b. Operator logika (<, =, >, <=, >=,!=, <>) c. Delimiter berguna sebagai pemisah atau pembatas, contoh: d. Karakter sebagai berikut ( ) { ;., : e. Karakter white space Tipe-Tipe Token Berikut ini contoh tipe-tipe token yang digunakan pada saat proses analisis leksikal pada bahasa java : Tabel 2.1 Tipe-Tipe Token No Token Tipe Token ID Token 1 class,abstract, assert, break, const, boolean, byte, case, catch, char, continue, default, do, double, else, Keyword KW

22 10 enum, extends, final, finally, float, for, goto, if, implements, import, instance of, int, interface, long, native, new, package, private, protected, public, return, short, static, super, switch, synchronized, String, strictfp, this, throw, throws, transient, try, void, volatile, false, true, null, while 2 Variabel Identifier ID 3 ; Semicolon SM 4 + Plus Operator PO 5 - Minus Operator MO 6 * Multiplication Operator TO 7, Comma FA 8 ( Left parenthesis LP 9 ) Right Parenthesis RP 10 { Left Brace LB 11 Right Brace RB 12 [ Left Square LS 13 ] Right Square RS 14 < Less Than LT 15 > Greater Than GT 16. Dot DT 17 % Modulus MD 18 1,2,3,4,5,6,7,8,9,0 Numeric NM 19 == Equals EQ 20 = Equals Operator AO 21!= Not Equals NE 22 & atau && Logical AND LA

23 11 23 atau Logical OR LO 24 A-Z / a-z String ST 25 / Division Operator DO Tahap Analisis Leksikal Pada tahap analisa terjadi interaksi antara scanner dan parser. Scanner dipanggil saat parser memerlukan token berikutnya. Pendekatan ini lebih baik karena bentuk internal program sumber yang lengkap tidak perlu dibangun dan disimpan di memori sebelum parsing dimulai (Henryw, 2014). Gambar 2.1 Flowchart Tahap Analisis Leksikal

24 Implementasi Analisis Leksikal Berikut ini contoh analisis leksikal (scanner) pada potongan program menggunakan bahasa java : public void main(string[]args){ for(int j=0;j<=5;j++){ System.out.println("Helo world.."); Setelah listing program tersebut diproses menggunakan analisis leksikal maka akan menjadi seperti berikut : KW public AO = DT. KW void NM 0 ID out ID main SM ; DT. LP ( ID j ID println KW String LT < LP ( LS [ AO = ST "Helo world.." RS ] NM 5 RP ) ID args SM ; SM ; RP ) ID j RB LB { PO + RB KW for PO + LP ( RP ) KW int LB { ID j ID System 2.4. Pemrograman Java Java adalah sebuah bahasa pemrograman yang dikembangkan sebagai komponen utama platform Java oleh Sun MicroSystems dan diluncurkan pada tahun Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis java umumnya

25 13 dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Java Virtual Machine (JVM). Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose), dan secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa platform sistem operasi yang berbeda, java dikenal pula dengan slogannya, "Tulis sekali, jalankan di mana pun". Saat ini java merupakan bahasa pemrograman yang paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi berbasis web. Versi awal Java ditahun 1996 sudah merupakan versi release sehingga dinamakan Java Versi 1.0. Java versi ini menyertakan banyak paket standar awal yang terus dikembangkan pada versi selanjutnya: 1. java.lang: Peruntukan kelas elemen-elemen dasar. 2. java.io: Peruntukan kelas input dan output, termasuk penggunaan berkas. 3. java.util: Peruntukan kelas pelengkap seperti kelas struktur data dan kelaskelas penanggalan. 4. java.net: Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi dengan komputer lain menggunakan jaringan TCP/IP. 5. java.awt: Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI) 6. java.applet: Kelas dasar aplikasi antar muka untuk diterapkan pada penjelajah 2.5. Netbeans Netbeans adalah salah satu aplikasi IDE yang digunakan programmer untuk menulis, mengompile, mencari kesalahan, dan menyebarkan program. Netbeans ditulis dalam bahasa java namun dapat juga mendukung Bahasa pemrogramman lain (Miftahul, 2010). 1. Smart code completion: mengusulkan nama variabel dari suatu tipe,melengkapi keyword, dan mengusulkan tipe parameter dari method 2. Menggunakan code generator: dengan menggunakan fitur ini kita dapatmenggenerate constructor, setter and getter method, dll. 3. Error stripe: fitur yang menandai baris yang error dengan menghiglight merah.

26 14 4. Bookmarking: fitur yang digunakan untuk menandai baris yang suatu saat hendak kita modifikasi. 5. Go to commands: fitur yang digunakan untuk jump ke deklarasi variable,source Code atau file yang ada pada project yang sama. Database yang didukung Netbeans a. JDBC merupakan spesifikasi standar dari javasoft API yang memungkinkan program java untuk mengakses sistem database manajemen. b. JDBC API terdiri dari satu set interface dan kelas yang ditulis dengan bahasa pemrogramman java. c. OJDBC (oracle java database conectivity) adalah driver yangmenghubungkan program java dan oracle. d. mysql-connector-java adalah driver yang menghubungkan program java dan mysql e. JDBC-ODBC f. mysql-server 2.6. Perancangan Sistem Pengertian UML (Unified Modeling Language) UML (Unified Modeling Language) adalah bahasa pemodelan untuk sistem atau perangkat lunak yang berparadigma berorientasi objek. Pemodelan (modeling) sesungguhnya digunakan untuk penyederhanaan permasalahanpermasalahan yang kompleks sedemikian rupa sehingga lebih mudah dipelajari dan dipahami( Rosa & Shalahuddin, 2013) Unified Modeling Language adalah metodologi kolaborasi antara metodemetode Booch, OMT (Object Modeling Technique), serta OOSE (ObjectOriented Software Enggineering) dan beberapa metoda lainnya, merupakan metodologi yang paling sering digunakan saat ini untuk analisa dan perancangan sistem dengan metodologi berorientasi objek mengadaptasi maraknya penggunaan bahasa pemrograman berorientasi objek (OOP). Berdasarkan pendapat yang dikemukakan sebelumnya, dapat ditarik kesimpulan bahwa Unified Modelling Language(UML) adalah sebuah bahasa

27 15 yang berdasarkan grafik atau gambar untuk menvisualisasikan, menspesifikasikan, membangun dan pendokumentasian dari sebuah sistem pengembangan perangkat lunak berbasis Objek (Object Oriented programming) Bangunan Dasar Metodologi Unified Modeling Language (UML) Bangunan dasar metodologi Unified Modeling Language (UML) menggunakan tiga bangunan dasar untuk mendeskripsikan sistem/perangkat lunak yang akan dikembangkan yaitu: 1. Sesuatu (things) Ada 4 things dalam Unified Modeling Language (UML), yaitu: a. Structural things Merupakan bagian yang relatif statis dalam model Unified Modeling Language (UML). Bagian yang relatif statis dapat berupa elemen-elemen yang bersifat fisik maupun konseptual. b. Behavioral things Merupakan bagian yang dinamis pada model Unified Modeling Language (UML), biasanya merupakan kata kerja dari model Unified Modeling Language (UML), yang mencerminkan perilaku sepanjang ruang dan waktu. c. Grouping things Merupakan bagian pengorganisasi dalam Unified Modeling Language (UML). Dalam penggambaran model yang rumit kadang diperlukan penggambaran paket yang menyederhanakan model. Paket-paket ini kemudian dapat didekomposisi lebih lanjut. Paket berguna bagi pengelompokkan sesuatu, misalnya model-model dan subsistem. d. Annotational things Merupakan bagian yang memperjelas model Unified Modeling Language (UML) dan dapat berupa komentar-komentar yang menjelaskan fungsi serta ciri-ciri setiap elemen dalam model Unified Modeling Language (UML). 2. Relasi (Relationship) Ada 4 (empat) macam relationship dalam Unified Modeling Language (UML), yaitu:

28 16 a. Kebergantungan Merupakan hubungan dimana perubahan yang terjadi pada suatu elemen mandiri (independent) akan mempengaruhi elemen yang bergantung pada elemen yang tidak mandiri (independent). b. Asosiasi Merupakan apa yang menghubungkan antara objek satu dengan objek lainnya, bagaimana hubungan suatu objek dengan objek lainnya. Suatu bentuk asosiasi adalah agregasi yang menampilkan hubungan suatu objek dengan bagianbagiannya. c. Generalisasi Merupakan hubungan dimana objek anak (descendent) berbagi perilaku dan struktur data dari objek yang ada diatasnya objek induk (ancestor). Arah dari atas kebawah dari objek induk ke objek anak dinamakan spesialisasi, sedangkan arah berlawanan sebaliknya dari arah bawah keatas dinamakan generalisasi. d. Realisasi Merupakan operasi yang benar-benar dilakukan oleh suatu objek. 3. Diagram Ada berbagai macam diagram dalam Unified Modeling Language (UML), yaitu: a. Diagram Usecase b. Diagram Class c. Diagram Package d. Diagram Sequence e. Diagram Collaboration f. Diagram StateChart g. Diagram Activity h. Diagram Deployment UML yang akan digunakan yaitu diagram usecase, sequence dan activity. 1. Diagram Usecase Diagram usecase menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Pada diagaram ini yang ditekankan adalah apa yang diperbuat

29 17 sistem dan bukan bagaimana. Menggambarkan kebutuhan sistem dari sudut pandang user.mengfokuskan pada proses komputerisasi (automated processes). Menggambarkan hubungan antara Usecase dan actor Usecase menggambarkan proses sistem (kebutuhan sistem dari sudut pandang user). Tabel 2.2 Simbol usecase diagram Simbol Deskripsi Aktor, mewakili peran orang sistem yang lain atau alat ketika berkomunikasi Aktor Nama use case <<include>> dengan usecase Usecase abstraksi dari interaksi antara sistem dan actor Association adalah abstraksi dari penghubung antara actor dan usecase Menunjukan bahwa suatu usecase seluruhnya merupakan fungsionalitas dari usecase lainnya Menunjukan bahwa suatu usecase <<extend>> merupakan tambahan fungsionalitas dari usecase lainnya Genealisasi, menunjukan spesialisasi actor untuk dapat berpartisipasi dalam usecase (Sumber : Rosa A.S & M.Shalahuddin, 2013) 2. Diagram Sequence Diagram ini memperlihatkan interaksi yang menekankan pada pengiriman pesan (message) dalam suatu waktu tertentu.diagram squence biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu.

30 18 Tabel 2.3 Simbol diagram squence Simbol Nama Deskripsi LifeLine Objek entity, antarmuka yang saling berinteraksi. Message Spesifikasi dari komunikasi antar objek yang memuat informasi-informasi tentang aktifitas yang terjadi Spesifikasi dari komunikasi antar objek Message yang memuat informasi-informasi tentang aktifitas yang terjadi (Sumber : Rosa A.S & M.Shalahuddin, 2013) 3. Diagram Activity Diagram Activity memodelkan workflow proses dan urutan aktivitas dalam sebuah proses. Diagram ini sangat mirip dengan flowchart karena memodelkan workflow dari satu aktivitas ke aktivitas lainnya atau dari aktivitas ke status. Menguntungkan untuk membuat Diagram Activity pada awal pemodelan proses untuk membantu memahami keseluruhan proses. Diagram Activity juga bermanfaat untuk menggambarkan parallel behaviour atau menggambarkan interaksi antara beberapa usecase. Simbol Tabel 2.4 Simbol Diagram Activity Titik awal Deskripsi Titik akhir Activity/action

31 19 Pilihan untuk mengambil keputusan dan mengakhiri kondisi Fork &Join; untuk menunjukan kegiatan yang dilakukan secara paralel dan digabungkan kembali (Sumber : Rosa A.S & M.Shalahuddin, 2013) Tujuan Penggunaan UML Tujuan Penggunaan Unified Modeling Language (UML) adalah : 1. Memberikan bahasa pemodelan yang bebas dari berbagai bahasa pemrograman dan proses rekayasa. 2. Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan. 3. Memberikan model yang siap pakai, bahsa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum. 4. UML bisa juga berfungsi sebagai sebuah (blue print) cetak biru karena sangat lengkap dan detail. Dengan cetak biru ini maka akan bias diketahui informasi secara detail tentang coding program atau bahkan membaca program dan menginterpretasikan kembali ke dalam bentuk diagram (reserve enginering) Flowchart Algoritma merupakan suatu alur pemikiran seseorang yang harus dapat dituangkan secara tertulis. Salah satu caranya adalah dengan menggunakan simbol-simbol yang memang sudah standar pada dunia komputer. Simbol itu disebut dengan flowchart (Antonius, 2010). Dengan menggunakan flowchart (diagram alir) maka seseorang programmer dapat memberikan idenya secara tertulis sehingga dapat dipahami oleh programmer lain, oleh klien, atau oleh tim kerjanya. Flowchart merupakan alur pemikiran yang dituangkan ke dalam bentuk simbol. Dengan demikian perlu dipelajari terlebih dahulu bentuk-bentuk simbol standar beserta kegunaan masing-masing. Berikut adalah tabel simbol-simbol flowchart :

32 20 Simbol Tabel 2.5 Simbol flowchart Deskripsi Mulai Start Selesai Finish Aliran data Proses / kejadian X = y + z Percabangan X > 2 Input Masukan data Output Tampilkan data (Sumber : Antonius, 2010)

33 BAB III METODOLOGI PENELITIAN 3.1 Waktu dan Tempat Penelitian Waktu Penelitian Waktu pelaksanaan penelitian tugas akhir dilaksanakan mulai dari bulan Februari Rincian kegiatan dapat dilihat pada tabel 3.1. N o Uraian 1 Studi Literatur Tabel 3.1 Waktu penelitian Tahun 2016 Februari (Minggu ke-) Maret (Minggu ke-) April (Minggu ke-) Analisis 3 Desain 4 Pembuatan Program 5 Pengujian 6 Pemeliharaan Tempat Penelitian Penelitian tugas akhir ini bertempat di Laboraturium Rekayasa Perangkat Lunak Fakultas Teknik Universitas Halu Oleo 3.2 Metode Pengumpulan Data Beberapa metode yang digunakan dalam pengumpulan data adalah sebagai berikut: 1. Wawancara (Interview) Pengumpulan data dengan wawancara ini dilakukan untuk mencari data dan informasi tentang hal-hal yang dibutuhkan dalam penelitian. Wawancara dilakukan dengan dosen yang bertanggung jawab pada Laboraturium Perangkat 21

34 22 Lunak untuk mendapatkan informasi yang berhubungan dengan pengaambilan sample yang akan dilakukan. 2. Studi Literatur Guna mendapatkan data, gambaran dan keterangan yang lebih lengkap peneliti menggunakan studi literatur dengan cara mengumpulkan dan mempelajari literatur yang berkaitan dengan teori sistem perancangan aplikasi kesamaan Source Code pada bahasa pemrograman java dan metode leksikal. Sumber literatur berupa paper, jurnal, karya ilmiah, dan situs-situs penunjang. 3. Sampling Pada tahap ini peneliti membutuhkan suatu sampel data yang berupa file project dari tugas mahasiswa yang melakukan praktikum di Laboraturium Rekayasa Perangkat Lunak sebagai bahan uji coba pada aplikasi Deteksi Kemiripan Source Code Pada Bahasa Pemrograman Java Menggunakan Metode Analisis Leksikal. 3.3 Metode Pengembangan Sistem Metode pengembangan perangkat lunak yang digunakan dalam pembangunan sistem ini adalah metode Waterfall yang terdiri dari beberapa tahap yaitu : 1. Studi Literatur Tahap pertama yang dilakukan peneliti yaitu mengumpulkan data, gambaran dan keterangan yang lebih lengkap dalam penelitian ini dengan cara mengumpulkan dan mempelajari literatur yang berkaitan dengan judul penelitian. Yang bersumber dari buku teks, paper, jurnal, karya ilmiah, dan situs-situs penunjang lainnya. 2. Analisis Tahap analisis adalah tahap dimana peneliti menganalisis permasalahan yang ada yaitu kriteria-kiteria dan persyaratan penerimaan peserta didik baru dan melakukan perhitungan.

35 23 3. Desain Pada tahap desain merupakan tahap peneliti merancang pembuatan tampilan awal atau interface dari aplikasi yang akan dibangun. Tampilan interface akan dirancang melalui data-data yang telah diperoleh pada saat tahap analisis. 4. Pembuatan Program Pada tahap pengkodean yaitu menerjemahkan aplikasi kedalam bahasa pemrograman yang telah ditentukan yaitu bahasa pemograman Java. 5. Pengujian Merupakan tahap pengujian terhadap aplikasi yang telah dibuat menjadi suatu perangkat lunak yang siap pakai dengan tujuan apakah sistem yang sudah jadi sudah sesuai dengan yang diharapkan. 6. Pemeliharaan Pada tahap pemeliharan yaitu tahap dimana melakukan koreksi dari berbagai error yang tidak ditemukam pada tahap-tahap sebelumnya sehingga dapat dilakukan perbaikan, agar dapat menghasilkan sistem yang lebih baik dari sebelumnya.

36 BAB IV ANALISIS DAN PERANCANGAN SISTEM 4.1. Analisis Sistem Sistem yang Sedang Berjalan Laboratorium Rekayasa Perangkat Lunak Jurusan Teknik Informatika Universitas Halu Oleo saat ini belum memiliki sistem yang dapat mendeteksi kemiripan source code untuk memeriksa adanya tindakan plagiat secara otomatis berbasis aplikasi komputer. Sistem yang sedang berjalan saat ini dalam mendeteksi kemiripan source code dilakukan secara manual, dimana Dosen atau Asisten laboratorium harus memeriksa satu persatu file source code yang diperiksa. Pendeteksian secara manual selain membutuhkan waktu yang lama juga tingkat ketelitiannya masih kurang. Hal ini disebabkan faktor ketelitian manusia berbeda dengan komputer Sistem yang Diusulkan Sistem yang diusulkan dalam pedeteksi kemiripan source code adalah sistem yang dilakukan secara otomatis. Aplikasi proses pendeteksi kemiripan source code yang diusulkan ini menggunakan metode Analisis Leksikal. File yang diperiksa dalam sistem ini adalah file class yang berekstensi.java. User memasukan dua buah file dimana file pertama merupakan file pembanding dan file kedua merupakan file yang akan diperiksa kemiripannya. Keluaran dari sistem ini adalah presentase tingkat kemiripan isi source code. Setelah user memasukan kedua file yang akan diperiksa maka sistem akan melakukan tahap analisis. Untuk melihat persentasi kemiripan user memilih menu scanning, maka presentase kemiripan akan tampil. 24

37 Perancangan Sistem Diagram Usecase Gambar 4.1 Diagram Usecase Pada diagram Usecase, pengguna dapat mengakses form utama, membuka file, melakukan scanning, mengakses menu Help Diagram Activity 1. Diagram Activity menu Scanning Pada diagram activity scanning, user dapat membuka dua file yang akan dibandingkan. Setelah user memilih file yang akan dibandingkan user dapat memilih menu scanning untuk mengetahui presentase dari hasil perbandingan dari kedua file tersebut.

38 26 Gambar 4.2 Diagram Activity Menu Scanning 2. Diagram Activity submenu Open File Pada diagram activity menu Open File, user mengakses aplikasi, kemudian sistem menampilkan halaman utama, lalu user memilih menu Open File, sistem kemudian menampilkan dialog open file. Seperti dijelaskan pada gambar 3.2 berikut. Gambar 4.3 Diagram Activity Menu Open File

39 27 3. Diagram Activity menu Help Pada menu Help user dapat membaca tutorial penggunaan aplikasi dengan cara pilih menu Help kemudian pilih sumenu Help Gambar 4.4 Diagram Activity Menu Help Diagram Sequence 1. Diagram Sequence Menu Scanning Pada diagram Sequence dapat dilihat setelah user melakukan input file maka sistem akan membaca dan akan menampilkan isi dari file tersebut. Setelah itu sistem akan melakukan proses analisis leksikal. Setelah user memilih submenu scanning, sistem akan melakukan pencocokan token berdasarkan posisi array dan

40 28 menghitung jumlah kemiripan sehingga akan keluar hasil presentase nilai similarity atau kemiripan source code dan waktu proses yang dibutuhkan. Gambar 4.5 Diagram Sequences submenu scanning 4.3. Analisis Kebutuhan Sistem Kebutuhan Data Masukan Untuk data masukan yang dibutuhkan dari sistem ini adalah adanya file class java yang akan dihitung presentase kemiripannya minimal dua buah file class, selanjutnya sistem akan menggunakan metode analisis leksikal dan pencocokan string untuk menghasilkan output Kebutuhan Data Keluaran Data keluaran dari sistem yang telah di proses untuk kemudian ditampilkan kepada pengguna sistem yaitu presentase nilai kemiripan dan kesimpulan dari hasil presentase apakah file tersebut merupakan plagiat atau bukan.

41 Flowchart Flowchart dari proses sistem yang dilakukan secara keseluruhan dapat dijelaskan seperti gambar berikut: Gambar 4.6 flowchart program

42 Peracangan Antar Muka (Interface) Perancangan antar muka (interface) merupakan perancangan untuk melihat desain awal dari sebuah sistem. Berikut adalah perancangan sistem interface dari peracangan aplikasi pendeteksi kemiripan source code. Gambar 4.7 Desain interface aplikasi Gambar diatas merupakan rancangan desain dari halaman utama aplikasi yang terdiri dari tiga meu, yaitu: file, process dan help. Pada menu File terdiri submenu Open Source 1 dan Open Source 2 yang berfungsi untuk menginsert file dan exit. Pada menu Process terdiri submenu Scanning yang berfungsi untuk mencocokan kedua file Source code yang akan dibandingkan, show analisis untuk menampilkan hasil analisis, show similar untuk menampilkan token-token yang mempunyai kemiripan, show not similar untuk menampilkan token-token yang tidak sama dan reset untuk merefresh halaman utama ke default. Pada menu Help merupakan batuan tentang bagaimana menjalankan aplikasi. Terdiri dari submenu help dan about Ilustrasi Metode Analisis Leksikal Terhadap Perencanaan Aplikasi Analisis Leksikal Tahap ini merupakan tahap awal sebelum dilakukan perhitungan kemiripan kedua source code yang akan diperiksa. Setelah source code dimasukan

43 31 maka sistem otomatis akan mentransformasikan source code tersebut kedalam bentuk token berdasarkan id masing-masing tipe. Untuk daftar tipe-tipe token dapat dilihat pada tabel tipe token pada bab sebelumnnya. Berikut contoh analisis leksikal pada dua buah source code yang akan diperiksa kemiripannya. 1. Source Asli Gambar 4.8 source asli Setelah dilakukan analisis leksikal maka source asli akan berbentuk seperti tabel 4.1

44 32 Tabel 4.1 Hasil Analisis Leksikal Source Asli. ID Token Token ID Token Token ID Token Token KW package LP ( SM ; ID contoh ST "Mobil maju sejauh " RB SM ; PO + KW public KW public ID maju KW static KW class PO + KW void ID Mobil ST " meter" ID main LB { RP ) LP ( KW String SM ; KW String ID warna RB LS [ SM ; KW public RS ] KW int KW void ID args ID jumlah_pintu ID Mundur RP ) SM ; LP ( LB { KW float KW int ID Mobil ID isi_tangki ID mundur ID BMW SM ; RP ) AO = KW public LB { KW new KW void KW int ID Mobil ID Maju ID mundurbelakang LP ( LP ( AO = RP ) KW int NM 0 SM ; ID maju SM ; ID BMW RP ) ID mundurbelakang DT. LB { AO = ID Maju KW int ID mundurbelakang LP ( ID majukedepan PO + NM 75 AO = ID mundur RP ) NM 0 SM ; SM ; SM ; ID System ID BMW ID majukedepan DT. DT. AO = ID out ID Mundur ID majukedepan DT. LP ( PO + ID println NM 5 ID maju LP ( RP )

45 33 SM ; ST "Mobil mundur sejauh " SM ; ID System PO + RB DT. ID mundur RB ID out PO + DT. ST " meter" ID println RP ) 2. Source Pembanding Gambar 4.9 Source Pembanding Setelah dilakukan analisis leksikal maka source pembanding ini akan berbentuk seperti tabel 4.2

46 34 Tabel 4.2 Hasil Analisis Source Pembanding ID Token Token ID Token Token ID Token Token KW package LP ( SM ; ID contoh2 ST "Mobil maju sejauh " RB SM ; PO + KW public KW public ID maju KW static KW class PO + KW void ID Mobil2 ST " meter" ID main LB { RP ) LP ( KW String SM ; KW String ID warna RB LS [ SM ; KW public RS ] KW int KW void ID args ID jumlah_pintu ID Mundur RP ) SM ; LP ( LB { KW float KW int ID Mobil ID isi_tangki ID mundur ID BMW SM ; RP ) AO = KW public LB { KW new KW void KW int ID Mobil ID Maju ID mundurbelakang LP ( LP ( AO = RP ) KW int NM 0 SM ; ID maju SM ; ID BMW RP ) ID mundurbelakang DT. LB { AO = ID Maju KW int ID mundurbelakang LP ( ID majukedepan PO + NM 75 AO = ID mundur RP ) NM 0 SM ; SM ; SM ; ID System ID BMW ID majukedepan DT. DT. AO = ID out ID Mundur ID majukedepan DT. LP ( PO + ID println NM 5 ID maju LP ( RP )

47 35 SM ; ST "Mobil mundur sejauh " SM ; ID System PO + RB DT. ID mundur RB ID out PO + DT. ST " meter" ID println RP ) Sorting Proses ini merupakan proses mengurutkan token-token yang terbentuk dari kedua source code yang diperiksa menurut abjad. Proses ini dilakukan dengan tujuan supaya jika terdapat source code yang sama tetapi terdapat fungsi atau prosedure yang sama pada posisi yang berbeda tetap akan terdeteksi. Setelah kedua source code diurutkan, maka masing-masing akan berbentuk sebagai berikut. 1. Source Asli Tabel 4.3. Hasil Sorting Source Asli ID Token Token ID Token Token ID Token Token AO = ID println NM 75 AO = ID println PO + AO = ID System PO + AO = ID System PO + AO = ID warna PO + DT. KW class PO + DT. KW float PO + DT. KW int RB DT. KW int RB DT. KW int RB DT. KW int RB ID args KW int RP ) ID BMW KW new RP ) ID BMW KW package RP ) ID BMW KW public RP ) ID contoh KW public RP ) ID isi_tangki KW public RP )

48 36 ID jumlah_pintu KW public RP ) ID main KW static RP ) ID maju KW String RS ] ID maju KW String SM ; ID maju KW void SM ; ID Maju KW void SM ; ID Maju KW void SM ; ID majukedepan LB { SM ; ID majukedepan LB { SM ; ID majukedepan LB { SM ; ID Mobil LB { SM ; ID Mobil LP ( SM ; ID Mobil LP ( SM ; ID mundur LP ( SM ; ID mundur LP ( SM ; ID mundur LP ( SM ; ID Mundur LP ( ST " meter" ID Mundur LP ( ST " meter" ID "Mobil maju LP ( ST mundurbelakang sejauh " ID LS [ ST "Mobil mundur mundurbelakang sejauh " ID mundurbelakang NM 0 ID out NM 0 ID out NM 5 2. Source Pembanding Tabel 4.4. Hasil Sorting Source Pembanding ID Token Token ID Token Token ID Token AO = ID println NM 75 AO = ID println PO + AO = ID System PO + AO = ID System PO + AO = ID warna PO + DT. KW class PO + Token

49 37 DT. KW float PO + DT. KW int RB DT. KW int RB DT. KW int RB DT. KW int RB ID args KW int RP ) ID BMW KW new RP ) ID BMW KW package RP ) ID BMW KW public RP ) ID contoh2 KW public RP ) ID isi_tangki KW public RP ) ID jumlah_pintu KW public RP ) ID main KW static RP ) ID maju KW String RS ] ID maju KW String SM ; ID maju KW void SM ; ID Maju KW void SM ; ID Maju KW void SM ; ID majukedepan LB { SM ; ID majukedepan LB { SM ; ID majukedepan LB { SM ; ID Mobil LB { SM ; ID Mobil2 LP ( SM ; ID Mobil LP ( SM ; ID mundur LP ( SM ; ID mundur LP ( SM ; ID mundur LP ( SM ; ID Mundur LP ( ST " meter" ID Mundur LP ( ST " meter" ID "Mobil maju LP ( ST mundurbelakang sejauh " ID LS [ ST "Mobil mundur mundurbelakang sejauh " ID mundurbelakang NM 0 ID out NM 0 ID out NM 5

50 Perhitungan Nilai Kemiripan Setelah kedua source code berbentuk token dan token-token telah terurut, maka proses selanjutnya adalah perhitungan nilai kemiripan kedua source menggunakan array. Panjang array sesuai dengan panjang token yang terbentuk. Pada contoh diatas panjang token adalah 117. Metode perhitungan kemiripan ini didasarkan atas posisi dan isi dari token tersebut. Jika pada posisi array ke-0 di cocokan dengan posisi array ke-0 pada source kedua sama, baik id token dan isi dari token maka program akan mencatat sebagi satu kemiripan. Kemdian program akan melanjutkan pada posisi array selanjutnya sampai posisi terakhir pada array. Jika panjang array pada kedua source berbeda dikarenakan banyaknya token yang terbentuk pada kedua source berbeda, maka pencocokan diberhentikan pada nilai array yang terpendek dan sisanya dianggap sebagai ketidaksamaan. Berikut ilustrasi perhitungan nilai kemiripan menggunakan array pada kedua source code yang telah berbentuk token. Source Asli Source Pembanding AO = sama AO = AO = sama AO = AO = sama AO = AO = sama AO = AO = sama AO = DT. sama DT. DT. sama DT. DT. sama DT. DT. sama DT. DT. sama DT. DT. sama DT. ID args sama ID args ID BMW sama ID BMW

51 39 ID BMW sama ID BMW ID BMW sama ID BMW ID contoh beda ID contoh2 ID isi_tangki sama ID isi_tangki ID jumlah_pintu sama ID jumlah_pintu ID main sama ID main ID maju sama ID maju ID maju sama ID maju ID maju sama ID maju ID Maju sama ID Maju ID Maju sama ID Maju ID majukedepan sama ID majukedepan ID majukedepan sama ID majukedepan ID majukedepan sama ID majukedepan ID Mobil sama ID Mobil ID Mobil sama ID Mobil ID Mobil beda ID Mobil2 ID mundur sama ID mundur ID mundur sama ID mundur ID mundur sama ID mundur ID Mundur sama ID Mundur ID Mundur sama ID Mundur ID mundurbelakang sama ID mundurbelakang ID mundurbelakang sama ID mundurbelakang ID mundurbelakang sama ID mundurbelakang ID out sama ID out ID out sama ID out ID println sama ID println ID println sama ID println ID System sama ID System

52 40 ID System sama ID System ID Warna sama ID Warna KW class sama KW class KW float sama KW float KW int sama KW int KW int sama KW int KW int sama KW int KW int sama KW int KW int sama KW int KW new sama KW new KW package sama KW package KW public sama KW public KW public sama KW public KW public sama KW public KW public sama KW public KW static sama KW static KW String sama KW String KW String sama KW String KW void sama KW void KW void sama KW void KW void sama KW void LB { sama LB { LB { sama LB { LB { sama LB { LB { sama LB { LP ( sama LP ( LP ( sama LP ( LP ( sama LP ( LP ( sama LP ( LP ( sama LP (

53 41 LP ( sama LP ( LP ( sama LP ( LS [ sama LS [ NM 0 sama NM 0 NM 0 sama NM 0 NM 5 sama NM 5 NM 75 sama NM 75 PO + sama PO + PO + sama PO + PO + sama PO + PO + sama PO + PO + sama PO + PO + sama PO + RB sama RB RB sama RB RB sama RB RB sama RB RP ) sama RP ) RP ) sama RP ) RP ) sama RP ) RP ) sama RP ) RP ) sama RP ) RP ) sama RP ) RP ) sama RP ) RP ) sama RP ) RS ] sama RS ] SM ; sama SM ; SM ; sama SM ; SM ; sama SM ; SM ; sama SM ;

54 42 SM ; sama SM ; SM ; sama SM ; SM ; sama SM ; SM ; sama SM ; SM ; sama SM ; SM ; sama SM ; SM ; sama SM ; SM ; sama SM ; SM ; sama SM ; ST " meter" sama ST " meter" ST " meter" sama ST " meter" ST "Mobil maju sejauh " sama ST "Mobil maju sejauh " ST "Mobil mundur sejauh " sama ST "Mobil mundur sejauh " Pada ilustrasi diatas dapat kita lihat bahwa, dari kedua source yang diperiksa terdapat 115 jumlah kemiripan dan terdapat 2 perbedaan saja yang ditemukan. Sehingga dari data tersebut kita dapat menentukan nilai kemiripan dengan ketentuan: Jumlah kesamaan = 115 Jumlah perbedaan = 2 Jumlah elemen objek = 117 = (115/117) x 100 % = 98,29 %

55 43 Karena hasil dari perhitungan lebih besar dari 70%, maka source code tersebut dianggap sebagai plagiat.

56 BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM 5.1 Implementasi Sistem Pada tahap ini merupakan tahap penerapan sistem pada keadaan yang sebenarnya agar dapat berfungsi sesuai kebutuhan, sehingga dapat diketahui apakah sistem yang dibuat sesuai dengan perancangan sebelumnya. Disini akan dijelaskan bagaimana sistem ini dengan memberikan contoh-contoh tampilan aplikasi yang terdapat pada aplikasi ini Interface aplikasi Adapun interface dan preview dari aplikasi Deteksi Kemiripan Source Code Pada Bahasa Pemrograman Java Menggunakan Metode Analisis Leksikal adalah sebagai berikut : 1. Progress Bar Tampilan ini merupakan tampilan progress bar yang berjalan ketika pertama kali aplikasi dijalankan. Gambar 5.1. Tampilan progress bar 2. Tampilan Utama Pada tampilan utama ini terdapat tiga menu yaitu menu file,process dan help. Pada menu file terdapat tiga submenu file yaitu open source 1,open source 2 dan exit. Pada menu process terdapat lima submenu yaitu submenu scanning,show 44

57 45 analysis, show similar, show not similar dan reset. Sedangkan pada menu help terdapat dua submenu yaitu submenu help dan about. Gambar 5.2 Tampilan utama a. Submenu Open source Merupakan submenu untuk menginput source yang akan diperiksa. Submenu open source 1 berfungsi menginput source pertama dan submenu open source 2 berfungsi untuk menginput source yang kedua kemudian source akan tampil pada masing-masing text editor. Setelah source telah dimasukan maka akan tampil properties dari kedua source berupa jumlah kata, jumlah simbol, jumlah angka, jumlah token dan letak source. b. Submenu exit Submenu ini berfungsi untuk keluar dari aplikasi c. Submenu Scanning Submenu ini berada pada menu Process, dimana submenu ini berfungsi untuk mengetahui presentase kemiripan source code yang diperiksa. Setelah user memilih submenu scanning maka akan tampil Jumlah token yang sama, jumlah token yang tidak sama, jumlah token yang diperiksa, presentase kemiripan, keterangan plagiat atau bukan plagiat dan waktu pada saat proses scanning.

58 46 d. Submenu Show analysis Submenu ini berfungsi untuk menampilkan hasil analisis leksikal setelah user menginput source yang akan diperiksa. Hasil analisis ini akan tampil pada text editor masing-masing source. e. Submenu show similar Merupakan submenu untuk melihat token-token mana saja yang memiliki kemiripan pada kedua source yang diperiksa f. Submenu not similar Merupakan submenu untuk menampilkan token-token yang tidak sama pada kedua source. g. Submenu reset Submenu ini berfungsi untuk mereset tampilan utama ke default h. Submenu Help Submenu ini akan menampilkan bantuan atau panduan cara menggunakan aplikasi dalam bentuk pdf. i. Submenu About Merupakan submenu untuk menampilkan informasi tentang aplikasi deteksi kemiripan source code ini Pengujian Sistem Pengujian Fungsionalitas Aplikasi Pengujian ini dilakukan untuk memeriksa apakah semua menu dan submenu yang ada pada sistem dapat berfungsi dengan baik. Pengujian ini dilakukan dengan memasukkan source code, scanning, menampilkan hasil analisis, menampilkan token yang mirip dan yang tidak mirip pada source code yang diperiksa serta menampilkan menu help dan about. 1. Memasukan dua buah source code yang akan diperiksa kedalam text editor.

59 47 Gambar 5.3 Tampilan dialog open source 2. Setelah source code terinput maka pada menu utama akan tampil properties masing-masing source code yang berupa jumlah kata,jumlah simbol,jumlah angka dan total token yang terbentuk. Gambar 5.4 Tampilan source code yang telah di input 3. Langkah selanjutnya yaitu melakukan proses scanning dengan menekan menu process dan memilih submenu scanning. Setelah sistem selesai menscan kedua source maka akan tampil jumlah token yang sama, jumlah token yang tidak sama, jumlah token yang diperiksa, presentase kemiripan, keterangan plagiat atau bukan

60 48 dalam bentuk radio button dan waktu yang diperlukan pada saat melakukan proses scanning. Gambar 5.5 Tampilan hasil scanning kemiripan 4. Menampilkan hasil analisis keseluruahan Gambar 5.6 Menampilkan hasil analisis

61 49 5. Menampilkan token yang sama/mirip Gambar 5.7 Menampilkan token yang sama 6. Menampilkan token yang tidak sama/tidak mirip Gambar 5.8 Menampilkan token yang tidak sama 7. Langkah selanjutnya yaitu menguji menu help. Pilih menu help kemudian pilih submenu help maka akan tampil bantuan penggunaan aplikasi dalam bentuk PDF.

62 50 Gambar 5.9 Tampilan Help 8. Selanjutnya menu about Hasil Analisa Gambar 5.10 Tampilan About Pada pengujian sistem yang dilakukan, sistem memeriksa dua source code yang masing-masing berjumlah 10 file class. Daftar file class yang di uji dapat di lihat pada tabel 5.1 dan tabel 5.2.

DETEKSI KEMIRIPAN SOURCE CODE PADA BAHASA PEMROGRAMAN JAVA MENGGUNAKAN METODE ANALISIS LEKSIKAL

DETEKSI KEMIRIPAN SOURCE CODE PADA BAHASA PEMROGRAMAN JAVA MENGGUNAKAN METODE ANALISIS LEKSIKAL semantik, Vol.2, No.1, Jan-Jun 2016, pp. 203-210 ISSN : 2502-8928 (Online) 203 DETEKSI KEMIRIPAN SOURCE CODE PADA BAHASA PEMROGRAMAN JAVA MENGGUNAKAN METODE ANALISIS LEKSIKAL Holis Hermansyah *1, Bambang

Lebih terperinci

Badiyanto, S.Kom., M.Kom. PBO java

Badiyanto, S.Kom., M.Kom. PBO java Badiyanto, S.Kom., M.Kom PBO java Apa yang Disebut Java? Bahasa pemrograman berorientasi objek murni yang dibuat berdasarkan kemampuankemampuan terbaik bahasa pemrograman objek sebelumnya (C++, Ada, Simula).

Lebih terperinci

DASAR PEMOGRAMAN JAVA

DASAR PEMOGRAMAN JAVA DASAR PEMOGRAMAN JAVA Pertemuan ke-2 Oleh: Winda Aprianti Tipe Data Bilangan Karakter Kata atau Kalimat Boolean Literal merepresentasikan nilai suatu tipe, dimana tipe itu sendiri menjelaskan bagaimana

Lebih terperinci

BAHASA PEMROGRAMAN JAVA

BAHASA PEMROGRAMAN JAVA MI1274 Algoritma & Pemrograman Lanjut Genap 2015-2016 BAHASA PEMROGRAMAN JAVA Disusun Oleh: Reza Budiawan Untuk: Tim Dosen Algoritma & Pemrograman Lanjut Hanya dipergunakan untuk kepentingan pengajaran

Lebih terperinci

2 TIPE DATA DAN VARIABEL

2 TIPE DATA DAN VARIABEL BAB 2 TIPE DATA DAN VARIABEL Kompetensi Dasar dan Indikator : Setelah mengikuti materi kuliah ini mahasiswa mampu menggunakan tipe data dan variable yang ada dalam Java, dengan indikator mahasiswa mampu:

Lebih terperinci

SUMBER BELAJAR PENUNJANG PLPG

SUMBER BELAJAR PENUNJANG PLPG SUMBER BELAJAR PENUNJANG PLPG 2017 [TIK] BAB VIII PEMROGRAMAN BERORIENTASI OBJEK [Alfa Faridh Suni] KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN DIREKTORAT JENDERAL GURU DAN TENAGA KEPENDIDIKAN 2017 BAB VIII

Lebih terperinci

BAB II VARIABEL DAN TIPE DATA

BAB II VARIABEL DAN TIPE DATA BAB II VARIABEL DAN TIPE DATA Bahasa pemrograman pada umumnya, mengenal adanya variabel yang digunakan untuk menyimpan nilai atau data. Sedangkan Java sendiri dikenal sebagai bahasa pemrograman dengan

Lebih terperinci

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA Asep Herman Suyanto info@bambutechno.com http://www.bambutechno.com Bahasa pemrograman pada umumnya, mengenal adanya variabel yang digunakan untuk menyimpan nilai

Lebih terperinci

Pengenalan JavaScript

Pengenalan JavaScript Pengenalan JavaScript Tujuan - Mahasiswa memahami konsep dasar Javascript - Mahasiswa mampu memahami cara menggunakan Javascript - Mahasiswa mampu memahami dasar variabel di Javascript - Mahasiswa mampu

Lebih terperinci

Unified Modelling Language UML

Unified Modelling Language UML Unified Modelling Language UML Unified Modelling Language (UML) adalah sebuah "bahasa" yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak.

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI II.1. Sistem Informasi Sistem informasi adalah sekumpulan elemen yang saling bekerja sama baik secara manual atau berbasis komputer yang didalamnya ada pengumpulan, pengolahan, pemprosesan

Lebih terperinci

KONSEP DASAR PEMROGRAMAN BERORIENTASI OBYEK

KONSEP DASAR PEMROGRAMAN BERORIENTASI OBYEK KONSEP DASAR PEMROGRAMAN BERORIENTASI OBYEK Farah Zakiyah Rahmanti, M.T 2015 Overview Definisi Teknologi Java Konsep Pemrograman Procedural dan OOP Struktur Java, Identifier, Kata Kunci, Tipe Data, Operator,

Lebih terperinci

PEMAHAMAN DASAR DASAR JAVA

PEMAHAMAN DASAR DASAR JAVA MODUL 1 PEMAHAMAN DASAR DASAR JAVA A. PENGANTAR JAVA Java Standard Development Kit (JDK/SDK) merupakan alat-alat utama bagi programmer untuk membuat dan menjalankan java. Development Kit dapat didownload

Lebih terperinci

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom E-Book PEMROGRAMAN BERORIENTASI OBJEK Disusun Oleh: Arfian Hidayat, S.Kom http://arfianhidayat.com FAKULTAS ILMU KOMPUTER UNIVERSITAS DIAN NUSWANTORO SEMARANG 2013 Daftar Isi Daftar Isi... i Daftar Gambar...

Lebih terperinci

UNIFIED MODELING LANGUAGE

UNIFIED MODELING LANGUAGE UNIFIED MODELING LANGUAGE UML (Unified Modeling Language) adalah metode pemodelan secara visual sebagai sarana untuk merancang dan atau membuat software berorientasi objek. Karena UML ini merupakan bahasa

Lebih terperinci

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR BAB 3 TYPE DATA, VARIABLE DAN OPERATOR Bahasa pemrograman pada umumnya, mengenal adanya variabel yang digunakan untuk menyimpan nilai atau data. Sedangkan Java sendiri dikenal sebagai bahasa pemrograman

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Manajemen Proyek 2.1.1. Pengertian Manajemen Menurut James A.F. Stoner (2006) Manajemen adalah suatu proses perencanaan, pengorganisasian, kepemimpinan, dan pengendalian upaya

Lebih terperinci

Cover Daftar isi Latar belakang Rumusan masalah Batasan masalah Tujuan Uml (Unified modelling language) Use case diagram Class diagram Activity

Cover Daftar isi Latar belakang Rumusan masalah Batasan masalah Tujuan Uml (Unified modelling language) Use case diagram Class diagram Activity SEMINAR PENDADARAN SKRIPSI APLIKASI ADMINISTRASI PENDIDIKAN ANAK USIA DINI (PAUD) AISYIYAH SUMBEREJO KLATEN SELATAN BERBASIS JAVA OLEH KRIS MAWARDI / 12080572 DAFTAR ISI Cover Daftar isi Latar belakang

Lebih terperinci

BAB II TINJAUAN PUSTAKA. yang ditandai dengan saling berhubungan dan mempunyai satu fungsi atau tujuan

BAB II TINJAUAN PUSTAKA. yang ditandai dengan saling berhubungan dan mempunyai satu fungsi atau tujuan BAB II TINJAUAN PUSTAKA 2.1 Pengertian Sistem Sistem dapat beroperasi dalam suatu lingkungan, jika terdapat unsur unsur yang ditandai dengan saling berhubungan dan mempunyai satu fungsi atau tujuan utama

Lebih terperinci

BAB 1 KONSEP DASAR JAVA

BAB 1 KONSEP DASAR JAVA BAB 1 KONSEP DASAR JAVA TUGAS PENDAHULUAN Buatlah algoritma dari program yang ada dalam kegiatan praktikum ini! 1. TUJUAN a. Mahasiswa mengetahui dasar dan elemen-elemen pembentuk bahasa Java b. Mahasiswa

Lebih terperinci

Gambar Use Case Diagram

Gambar Use Case Diagram 1. Use Case Diagram Use case adalah abstraksi dari interaksi antara system dan actor. Use case bekerja dengan cara mendeskripsikan tipe interaksi antara user sebuah system dengan sistemnya sendiri melalui

Lebih terperinci

Gambar 4.1 Flowchart

Gambar 4.1 Flowchart BAB IV PERANCANGAN SISTEM 4.1. Perancangan Algoritma Dalam merancang proses pada Sistem Informasi ini penulis menggunakan Flowchart dan UML sebagai case tool dalam merancang proses yang terjadi di dalam

Lebih terperinci

Bab 3 Metoda dan Perancangan Sistem

Bab 3 Metoda dan Perancangan Sistem Bab 3 Metoda dan Perancangan Sistem Pada bab ini akan dibahas mengenai metode perancangan yang digunakan dalam membuat perancangan sistem aplikasi pendeteksian kata beserta rancangan design interface yang

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 7 BAB 2 LANDASAN TEORI 2.1 Konsep Pemodelan Objek Pemodelan objek merupakan suatu metode untuk menggambarkan struktur sistem yang memperlihatkan semua objek yang ada pada sistem. (Nugroho, 2005, hal:37).

Lebih terperinci

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom BAB III DASAR-DASAR PEMROGRAMAN Tipe Data Data adalah sekumpulan kejadian/fakta yang dipresentasikan dengan huruf, angka,

Lebih terperinci

DAFTAR ISI... LEMBAR JUDUL LEMBAR PENGESAHAN... SURAT PERNYATAAN... ABSTRAK... ABSTRACT... KATA PENGANTAR... DAFTAR TABEL... DAFTAR GAMBAR...

DAFTAR ISI... LEMBAR JUDUL LEMBAR PENGESAHAN... SURAT PERNYATAAN... ABSTRAK... ABSTRACT... KATA PENGANTAR... DAFTAR TABEL... DAFTAR GAMBAR... DAFTAR ISI LEMBAR JUDUL LEMBAR PENGESAHAN... SURAT PERNYATAAN... ABSTRAK... ABSTRACT... KATA PENGANTAR... DAFTAR ISI... DAFTAR TABEL... DAFTAR GAMBAR... i iii iv v vi viii xiii xv BAB I BAB II PENDAHULUAN

Lebih terperinci

Elemen Dasar Dalam Bahasa Java

Elemen Dasar Dalam Bahasa Java Elemen Dasar Dalam Bahasa Java 1. Kata Kunci Kata kunci adalah kata-kata yang didefenisikan oleh compiler dan memiliki arti dan tujuan spesifik. Java tidak mengizinkan kata-kata tersebut dipakai sebagai

Lebih terperinci

MAKALAH ANALISIS & PERANCANGAN SISTEM II USE CASE DIAGRAM

MAKALAH ANALISIS & PERANCANGAN SISTEM II USE CASE DIAGRAM MAKALAH T02/Use Case Diagram ANALISIS & PERANCANGAN SISTEM II USE CASE DIAGRAM Nama : Abdul Kholik NIM : 05.05.2684 E mail : ik.kyoe.san@gmail.com Sumber : http://artikel.webgaul.com/iptek/unifiedmodellinglanguage.htm

Lebih terperinci

PEMBANGUNAN APLIKASI PENCATATAN PENANGANAN GANGGUAN PT. TELKOM REGIONAL BANDUNG

PEMBANGUNAN APLIKASI PENCATATAN PENANGANAN GANGGUAN PT. TELKOM REGIONAL BANDUNG PEMBANGUNAN APLIKASI PENCATATAN PENANGANAN GANGGUAN PT. TELKOM REGIONAL BANDUNG TUGAS AKHIR Disusun sebagai salah satu syarat untuk kelulusan Program Strata 1, di Program Studi Teknik Informatika, Universitas

Lebih terperinci

MEMAHAMI PENGGUNAAN UML

MEMAHAMI PENGGUNAAN UML MEMAHAMI PENGGUNAAN UML Reza Kurniawan Reza.kurniawan@raharja.info Abstrak Saat ini sebagian besar para perancang sistem informasi dalam menggambarkan informasi dengan memanfaatkan UML diagram dengan tujuan

Lebih terperinci

REKAYASA PERANGKAT LUNAK. 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com

REKAYASA PERANGKAT LUNAK. 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com REKAYASA PERANGKAT LUNAK 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com Referensi Rekayasa Perangkat Lunak Pendekatan Praktisi, Roger S. Pressman, Ph.D, Andi Jogyakarta, 2012 Buku 1 Rekayasa

Lebih terperinci

DIAGRAM SEQUENCE UML

DIAGRAM SEQUENCE UML DIAGRAM SEQUENCE UML Makalah ini di susun oleh : 1) Banu Hardian (51412367) 2) Mutia Sulisetyani (55412178) 3) Raditya Rafian (55412868) 4) Tio Dwi Akbar (57412395) GUNADARMA UNIVERSITY 1 KATA PENGANTAR

Lebih terperinci

DAFTAR ISI. Abstraksi... Kata Pengantar... Daftar Isi... Daftar Tabel... Daftar Gambar... Daftar Lampiran... BAB I PENDAHULUAN...

DAFTAR ISI. Abstraksi... Kata Pengantar... Daftar Isi... Daftar Tabel... Daftar Gambar... Daftar Lampiran... BAB I PENDAHULUAN... DAFTAR ISI Halaman Abstraksi... Kata Pengantar... Daftar Isi... Daftar Tabel... Daftar Gambar... Daftar Lampiran... i ii iv viii x xiii BAB I PENDAHULUAN... 1 1.1 Latar Belakang... 1 1.2 Rumusan Masalah...

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Android versi 2.2 (Froyo :Frozen Yoghurt) Pada 20 Mei 2010, Android versi 2.2 (Froyo) diluncurkan. Perubahanperubahan umumnya terhadap versi-versi sebelumnya antara lain dukungan

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI DAFTAR ISI ABSTRAK... i ABSTRACT... ii KATA PENGANTAR... iii DAFTAR ISI... v DAFTAR GAMBAR... vi DAFTAR TABEL... ix DAFTAR SIMBOL... x BAB I PENDAHULUAN.... Latar Belakang.... Rumusan Masalah... 3.3 Tujuan...

Lebih terperinci

DAFTAR ISI... LEMBAR JUDUL LEMBAR PENGESAHAN... SURAT PERNYATAAN... ABSTRAK... ABSTRACT... KATA PENGANTAR... DAFTAR TABEL... DAFTAR GAMBAR...

DAFTAR ISI... LEMBAR JUDUL LEMBAR PENGESAHAN... SURAT PERNYATAAN... ABSTRAK... ABSTRACT... KATA PENGANTAR... DAFTAR TABEL... DAFTAR GAMBAR... DAFTAR ISI LEMBAR JUDUL LEMBAR PENGESAHAN... SURAT PERNYATAAN... ABSTRAK... ABSTRACT... KATA PENGANTAR... DAFTAR ISI... DAFTAR TABEL... DAFTAR GAMBAR... i ii iii iv v vii xi xiii BAB I PENDAHULUAN... I-1

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA II. 1. Aplikasi Pengertian aplikasi adalah program siap pakai yang dapat digunakan untuk menjalankan perintah dari pengguna aplikasi tersebut dengan tujuan mendapatkan hasil yang

Lebih terperinci

JAVA FUNDAMENTAL ATURAN PERKULIAHAN SILABUS

JAVA FUNDAMENTAL ATURAN PERKULIAHAN SILABUS JAVA FUNDAMENTAL Nama : Julian Chandra W Telp : 085647155605 Email : maeztro_87@yahoo.co.id Referensi : 1. Benny Hermawan. 2004. Menguasai Java 2 & Object Oriented Programming. Andi. 2. Bambang Hariyanto.

Lebih terperinci

PEMANFAATAN ARDUINO DALAM PENGEMBANGAN SISTEM RUMAH PINTAR BERBASIS MOBILE DAN WEB (Studi Kasus : Penjadwalan Lampu Rumah)

PEMANFAATAN ARDUINO DALAM PENGEMBANGAN SISTEM RUMAH PINTAR BERBASIS MOBILE DAN WEB (Studi Kasus : Penjadwalan Lampu Rumah) PEMANFAATAN ARDUINO DALAM PENGEMBANGAN SISTEM RUMAH PINTAR BERBASIS MOBILE DAN WEB (Studi Kasus : Penjadwalan Lampu Rumah) TUGAS AKHIR Disusun sebagai salah satu syarat untuk kelulusan Program Strata 1,

Lebih terperinci

I.2 Identifikasi Masalah... I-2. I.3 Rumusan Masalah... I-2. I.4 Tujuan... I-3. I.5 Manfaat... I-3. I.6 Batasan Masalah... I-3

I.2 Identifikasi Masalah... I-2. I.3 Rumusan Masalah... I-2. I.4 Tujuan... I-3. I.5 Manfaat... I-3. I.6 Batasan Masalah... I-3 viii DAFTAR ISI LEMBAR PENGESAHAN... ii SURAT PERNYATAAN... iii ABSTRACT... iv ABSTRAKSI... v KATA PENGANTAR... vi DAFTAR ISI... viii DAFTAR GAMBAR... xiii DAFTAR TABEL... xvi BAB I PENDAHULUAN... I-1

Lebih terperinci

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP Hak cipta dan penggunaan kembali: Lisensi ini mengizinkan setiap orang untuk menggubah, memperbaiki, dan membuat ciptaan turunan bukan untuk kepentingan komersial, selama anda mencantumkan nama penulis

Lebih terperinci

BAB II LANDASAN TEORI Konsep Dasar Membangun Aplikasi Berbasis Web

BAB II LANDASAN TEORI Konsep Dasar Membangun Aplikasi Berbasis Web BAB II LANDASAN TEORI 2.1. Konsep Dasar Membangun Aplikasi Berbasis Web Aplikasi berbasis web adalah aplikasi yang dijalankan melalui browser dan diakses melalui jaringan komputer. Aplikasi berbasis web

Lebih terperinci

UML Netbeans UML (The Unified Modelling Language)

UML Netbeans UML (The Unified Modelling Language) UML Netbeans 6.7.1 UML (The Unified Modelling Language) Sebuah notasi untuk menspesifikasi, memvisualisasi, membangun dan mendokumentasikan rancangan dari sebuah perangkat lunak. Diagram pada UML Ada 9

Lebih terperinci

BAB IV PERANCANGAN SISTEM 4.1 PERANCANGAN SISTEM Untuk memudahkan pembuatan aplikasi sistem pakar berbasis website, maka akan dibuat model menggunakan UML (Unified Modeling Language). Perlu diketahui metode

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN III.1 Analisis Sistem Keylogger merupakan aplikasi yang digunakan untuk merekam segala aktifitas pada komputer yang berhubungan dengan fungsi keyboard, metode string matching

Lebih terperinci

LAPORAN RESMI. PRAKTIKUM TEKNOLOGI WEB Pengenalan JavaScript

LAPORAN RESMI. PRAKTIKUM TEKNOLOGI WEB Pengenalan JavaScript LAPORAN RESMI PRAKTIKUM TEKNOLOGI WEB Pengenalan JavaScript Dosen Pembimbing : Dwi Susanto Oleh : Noer Rhiannah A (4103131052) 3 D3 MMB B PROGRAM STUDI TEKNOLOGI MULTIMEDIA BROADCASTING DEPARTEMEN MULTIMEDIA

Lebih terperinci

Dasar Pemograman Java

Dasar Pemograman Java Dasar Pemograman Java A Sejarah dan Perkembangan Java Java adalah salah satu pemograman berorientasi objek murni yang dibuat berdasarkan kemampuan terbaik bahasa pemograman objek sebelumnya. Java diciptakan

Lebih terperinci

BAB III OBJEK DAN METODOLOGI PENELITIAN. sesuai dengan pendapat Sugiyono (2003:58) mendefinisikan bahwa:

BAB III OBJEK DAN METODOLOGI PENELITIAN. sesuai dengan pendapat Sugiyono (2003:58) mendefinisikan bahwa: BAB III OBJEK DAN METODOLOGI PENELITIAN 3.1. Objek Penelitian Objek penelitian merupakan sasaran untuk mendapatkan suatu data, sesuai dengan pendapat Sugiyono (2003:58) mendefinisikan bahwa: Objek penelitian

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 RAPAT UMUM PEMEGANG SAHAM Peraturan Otoritas Jasa Keuangan Nomor 32 /Pojk.04/2014 Tentang Rencana Dan Penyelenggaraan Rapat Umum Pemegang Saham Perusahaan Terbuka. Pasal 2. 1.

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA II.1. Sistem Sistem merupakan kumpulan dari unsur atau elemen-elemen yang saling berkaitan/berinteraksi dan saling memengaruhi dalam melakukan kegiatan bersama untuk mencapai suatu

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Dalam ranah ilmu informatika mendeteksi kemiripan kode program sangat dibutuhkan. Salah satu fungsi aplikasi ini adalah untuk mendeteksi terjadinya praktik plagiarisme

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Sistem Sistem adalah kumpulan dari elemen-elemen yang berinteraksi untuk mencapai suatu tujuan tertentu. Sistem ini menggambarkan suatu kejadian-kejadian dan kesatuan yang nyata,

Lebih terperinci

Tabel 1. Instruksi untuk menampilkan teks No. Bahasa Pemrograman Instruksi 1. Pascal WRITE ( Bahasa pemrograman itu mudah );

Tabel 1. Instruksi untuk menampilkan teks No. Bahasa Pemrograman Instruksi 1. Pascal WRITE ( Bahasa pemrograman itu mudah ); PERTEMUAN I BAHASA PEMROGRAMAN JAVA DAN PENGENALAN NETBEANS 1. Program dan Bahasa Pemrograman Di dalam dunia komputer sering kali dijumpai istilah program dan bahasa pemrograman. Kedua istilah tersebut

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Sistem Informasi 2.1.1 Pengertian Sistem Informasi 1 Sistem Informasi adalah kombinasi dari teknologi dan aktivitas orang yang menggunakan teknologi itu untuk mendukung operasi

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Pengembangan Sistem Informasi 2.1.1 SDLC (System Development Life Cycle) Menurut Dennis, Barbara, dan Roberta (2012:6) System Development Life Cycle (SDLC) merupakan proses menentukan

Lebih terperinci

Pengenalan JAVA. Farhat, ST., MMSI., MSc

Pengenalan JAVA. Farhat, ST., MMSI., MSc Pengenalan JAVA Tim sun Microsystems (dipimpin oleh James Gosling) bahasa komputer kecil (chipchip embedded) Proyek bernama Green. Pascal (diciptakkan oleh Niklaus Wirth) Bahasa yang portable kode intermediate

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI 5 BAB II LANDASAN TEORI 2.1. METODE PENELITIAN 2.1.1. Studi Literatur Studi Literatur dilakukan dengan cara mengumpulkan data informasi yang berhubungan dengan sistem informasi berbasis web dan android

Lebih terperinci

II.3.5 Statechart Diagram... II-14 II.3.6 Activity Diagram... II-15 II.3.7 Component Diagram... II-16 II.3.8 Deployment Diagram... II-16 II.3.

II.3.5 Statechart Diagram... II-14 II.3.6 Activity Diagram... II-15 II.3.7 Component Diagram... II-16 II.3.8 Deployment Diagram... II-16 II.3. DAFTAR ISI HALAMAN JUDUL LEMBAR PENGESAHAN... ii SURAT PERNYATAAN... iii ABSTRAK... iv ABSTRACT... v KATA PENGANTAR... vi DAFTAR ISI... viii DAFTAR TABEL... xii DAFTAR GAMBAR... xiii BAB I PENDAHULUAN...

Lebih terperinci

DAFTAR ISI LEMBAR PENGESAHAN SURAT PERNYATAAN

DAFTAR ISI LEMBAR PENGESAHAN SURAT PERNYATAAN DAFTAR ISI LEMBAR PENGESAHAN... i SURAT PERNYATAAN... ii ABSTRACT... iii ABSTRAKSI... iv KATA PENGANTAR... v DAFTAR ISI... vii DAFTAR TABEL... x DAFTAR GAMBAR... xi DAFTAR SIMBOL... xiii DAFTAR LAMPIRAN...

Lebih terperinci

BAB II LANDASAN TEORI. pendekatan komponen.dengan pendekatan prosedur, sistem dapat didefinisikan

BAB II LANDASAN TEORI. pendekatan komponen.dengan pendekatan prosedur, sistem dapat didefinisikan 6 BAB II LANDASAN TEORI 2.1. Konsep Dasar Sistem Sistem dapat didefinisikan dengan pendekatan prosedur dan dengan pendekatan komponen.dengan pendekatan prosedur, sistem dapat didefinisikan sebagai kumpulan

Lebih terperinci

MEDIA PEMBELAJARAN PENGENALAN BAGIAN-BAGIAN OTAK MANUSIA

MEDIA PEMBELAJARAN PENGENALAN BAGIAN-BAGIAN OTAK MANUSIA MEDIA PEMBELAJARAN PENGENALAN BAGIAN-BAGIAN OTAK MANUSIA Ardiles Sinaga, M.T 1, Biduni Eliza Syebat Muryati.Putri 2 Program Studi Teknik Informatika, STMIK LPKIA BANDUNG Jln. Soekarno Hatta No. 456 Bandung

Lebih terperinci

SEJARAH UML DAN JENISNYA

SEJARAH UML DAN JENISNYA SEJARAH UML DAN JENISNYA Elya Hestika Asiyah e.hestika@yahoo.com :: http://penulis.com Abstrak UML (Unified Modeling Language) adalah sebuah bahasa untuk menetukan, visualisasi, kontruksi, dan mendokumentasikan

Lebih terperinci

ABSTRAK. Kata kunci : penjualan, pembelian, aplikasi desktop, C#, Microsoft SQL. Server

ABSTRAK. Kata kunci : penjualan, pembelian, aplikasi desktop, C#, Microsoft SQL. Server ABSTRAK Saat ini pengolahan data di Es Lilin Kita-kita belum menggunakan sistem informasi sehingga menimbulkan banyaknya kesalahan dalam pencatatan data. Berangkat dari permasalah tersebut, akan dibuat

Lebih terperinci

BAB I PENDAHULUAN. peran penting diantaranya adalah mengkoordinasikan, memfasilitasi, dan memberikan

BAB I PENDAHULUAN. peran penting diantaranya adalah mengkoordinasikan, memfasilitasi, dan memberikan BAB I PENDAHULUAN 1.1 Latar Belakang Kerja Praktek Bappeda (Badan Perencanaan Pembangunan Daerah) adalah perusahaan yang memiliki peran penting diantaranya adalah mengkoordinasikan, memfasilitasi, dan

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA Bab Tinjauan Pustaka memuat uraian gambaran umum dan fungsi-fungsi pada perpustakaan, pengertian sistem informasi, dan kaitan antara perpustakaan dan sistem informasi. 2.1. Perpustakaan

Lebih terperinci

ABSTRAK. Universitas Kristen Maranatha

ABSTRAK. Universitas Kristen Maranatha ABSTRAK Tugas akhir ini membahas mengenai perbandingan pencarian string dalam dokumen dengan menggunakan metode algoritma brute force, Boyer Moore dan DFA (Deterministic Finite Automata). Penyelesaian

Lebih terperinci

BAB II LANDASAN TEORI. Unified Modeling Language (UML) merupakan sistem arsitektur yang bekerja dalam

BAB II LANDASAN TEORI. Unified Modeling Language (UML) merupakan sistem arsitektur yang bekerja dalam BAB II LANDASAN TEORI 2.1 Pengertian UML Unified Modeling Language (UML) merupakan sistem arsitektur yang bekerja dalam OOAD (Object-Oriented Analysis/Design) dengan satu bahasa yang konsisten untuk menentukan,

Lebih terperinci

19 BAB III ANALISIS DAN PERANCANGAN 3.1. Analisis Mengendarai kendaraan tidak sembarangan, ada aturan-aturan yang harus ditaati dan juga syarat-syarat tertentu yang harus dipenuhi sebelum berkendara di

Lebih terperinci

Bahasa Pemrograman 2.

Bahasa Pemrograman 2. Bahasa Pemrograman 2 Pengenalan JAVA 1 anton@ukdw.ac.id Instalasi JDK Download JDK for free Instalasi biasa Set PATH dan JAVA_HOME set PATH=%PATH%; set JAVA_HOME=

Lebih terperinci

Unified Modeling Language

Unified Modeling Language 2011 Unified Modeling Language Metode Perancangan Program Kelompok 10: Andika Nugraha (1401094756) Alfred Mansel (1401095506) Daniel Sidarta (1401096433) Marcell Bonfilio (1401094850) Bina Nusantara University

Lebih terperinci

Tipe Data dan Operator

Tipe Data dan Operator Tipe Data dan Operator Dasar Algoritma dan Pemrogrman Eka Maulana, ST, MT, MEng. Klasifikasi Tipe Data 1 Tipe Data Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam

Lebih terperinci

SISTEM MONITORING PENGANTARAN OBAT PADA PT. XYZ DENGAN PEMROGRAMAN JAVA ANDROID DAN WEB

SISTEM MONITORING PENGANTARAN OBAT PADA PT. XYZ DENGAN PEMROGRAMAN JAVA ANDROID DAN WEB SISTEM MONITORING PENGANTARAN OBAT PADA PT. XYZ DENGAN PEMROGRAMAN JAVA ANDROID DAN WEB Rivan Junizar 41513120145 FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA 2015 SISTEM MONITORING PENGANTARAN OBAT

Lebih terperinci

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI 2.1. Tinjauan Pustaka Tinjauan Pustaka yang berhubungan dengan topik yang penulis bahas adalah sistem penerimaan siswa baru SMA Al-Muayyad Surakarta (http://psb.sma-almuayyad.sch.id/),

Lebih terperinci

PENGANTAR RUP & UML. Pertemuan 2

PENGANTAR RUP & UML. Pertemuan 2 PENGANTAR RUP & UML Pertemuan 2 PENGANTAR RUP Rational Unified Process (RUP) atau dikenal juga dengan proses iteratif dan incremental merupakan sebuah pengembangan perangkat lunak yang dilakukan secara

Lebih terperinci

BAHASA PEMROGRAMAN C

BAHASA PEMROGRAMAN C BAHASA PEMROGRAMAN C A. Pengenalan Bahasa C diciptakan oleh Dennis Ritchie tahun 1972 di Bell Laboratories. Kelebihan Bahasa C: - Bahasa C tersedia hampir di semua jenis computer. - Kode bahasa C sifatnya

Lebih terperinci

SILABUS MATA KULIAH PEMROGRAMAN JAVA

SILABUS MATA KULIAH PEMROGRAMAN JAVA A. IDENTITAS MATA KULIAH Program Studi : Teknik Informatika Mata Kuliah : Pemrograman Java Kode : SP331 Bobot : 4 (empat) sks Kelas : MI Semester : 4 (empat) Mata kuliah prasyarat : Tidak ada Deskripsi

Lebih terperinci

Pemrograman Berorientasi Objek. Beni Suranto, S.T.

Pemrograman Berorientasi Objek. Beni Suranto, S.T. Pemrograman Berorientasi Objek Beni Suranto, S.T. Variabel Variabel adalah nama dari suatu lokasi di memori yang digunakan untuk menyimpan data sementara. Variabel diberi nama tertentu yang menunjukkan

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 UNIFIED MODELLING LANGUAGE Menurut Fowler (2005:1) Unified Modelling Language (selanjutnya disebut UML) adalah keluarga notasi grafis yang didukung meta-model tunggal, yang membantu

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Konsep Dasar Sistem Dalam membangun sebuah system informasi diperlukan suatu pemahaman mengenai system itu sendiri sehingga tujuan dari pembangunan system informasi dapat tercapai.

Lebih terperinci

BAB IV ANALISIS DAN PERENCANAAN SISTEM. yang terdapat pada sistem tersebut untuk kemudian dijadikan landasan usulan

BAB IV ANALISIS DAN PERENCANAAN SISTEM. yang terdapat pada sistem tersebut untuk kemudian dijadikan landasan usulan 41 BAB IV ANALISIS DAN PERENCANAAN SISTEM 4.1. Analisis sistem yang sedang berjalan Tahap yang perlu dilakukan sebelum mengembangkan susatu sistem adalah menganalisis sistem yang sedang berjalan kemudian

Lebih terperinci

Nama : Julian Chandra W Telp :

Nama : Julian Chandra W Telp : JAVA FUNDAMENTAL Nama : Julian Chandra W Telp : 085647155605 Email : maeztro_87@yahoo.co.id julian.chand@gmail.com Referensi : 1. Benny Hermawan. 2004. Menguasai Java 2 & Object Oriented Programming. Andi.

Lebih terperinci

JAVA BASIC PROGRAMMING Joobshet

JAVA BASIC PROGRAMMING Joobshet JAVA BASIC PROGRAMMING Joobshet 1. KOMPETENSI Mahasiswa dapat memahami jenis jenis tipe data Mahasiswa dapat memahami jenis jenis variable Mahasiswa dapat memahami jenis jenis seleksi kondisi Mahasiswa

Lebih terperinci

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA 1 BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA IDENTIFIER Identifier adalah suatu tanda yang mewakili nama-nama variabel, method, class, dsb. Ingat : Bahasa

Lebih terperinci

BAB IV ANALISA DAN PERANCANGAN SISTEM Analisis Prosedur yang sedang Berjalan

BAB IV ANALISA DAN PERANCANGAN SISTEM Analisis Prosedur yang sedang Berjalan BAB IV ANALISA DAN PERANCANGAN SISTEM 4.1 Analisa Sistem Yang Berjalan 4.1.1 Analisis Prosedur yang sedang Berjalan 4.1.1.1 Use Case Konfirmasi Customer Supplier Pemasukan barang Gudang

Lebih terperinci

LAPORAN RESMI PRAKTIKUM II WEB DESAIN PENGENALAN JAVASCRIPT

LAPORAN RESMI PRAKTIKUM II WEB DESAIN PENGENALAN JAVASCRIPT LAPORAN RESMI PRAKTIKUM II WEB DESAIN PENGENALAN JAVASCRIPT Di susun oleh : Galuh Meidaluna 4103141023 Dosen : Dwi Susanto ST. MT TEKNOLOGI MULTIMEDIA BROADCASTING POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

Lebih terperinci

BAB III OBJEK DAN METODE PENELITIAN. domain & Web Hosting. Untuk lebih jelas mengenai gambaran umum perusahaan,

BAB III OBJEK DAN METODE PENELITIAN. domain & Web Hosting. Untuk lebih jelas mengenai gambaran umum perusahaan, BAB III OBJEK DAN METODE PENELITIAN 3.1. Objek Penelitian Penulis melakukan objek penelitian pada Qwords.com perusahaan penyedia jasa layanan Web Hosting (Web Hosting Provider) yang melayani registrasi

Lebih terperinci

PEMBANGUNAN APLIKASI NEWS AGGREGATOR BERBASIS ANDROID DILENGKAPI FITUR BERITA PILIHAN

PEMBANGUNAN APLIKASI NEWS AGGREGATOR BERBASIS ANDROID DILENGKAPI FITUR BERITA PILIHAN PEMBANGUNAN APLIKASI NEWS AGGREGATOR BERBASIS ANDROID DILENGKAPI FITUR BERITA PILIHAN TUGAS AKHIR Disusun sebagai salah satu syarat untuk kelulusan Program Strata 1, di Program Studi Teknik Informatika,

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA II.1. Pengertian Sistem Sistem merupakan salah satu yang terpenting dalam sebuah perusahaan yang dapat membentuk kegiatan usaha untuk mencapai kemajuan dan target yang dibutuhkan.

Lebih terperinci

BAB III LANDASAN TEORI. Menurut Soendoro dan Haryanto (2005), definisi dari sistem dapat

BAB III LANDASAN TEORI. Menurut Soendoro dan Haryanto (2005), definisi dari sistem dapat BAB III LANDASAN TEORI 3.1 Sistem Menurut Soendoro dan Haryanto (2005), definisi dari sistem dapat dilakukan dengan 2 pendekatan, yaitu pendekatan prosedur dan pendekatan komponen. Dengan pendekatan prosedur

Lebih terperinci

ABSTRAK. Kata kunci: diagram kelas, xml, java, kode sumber, sinkronisasi. v Universitas Kristen Maranatha

ABSTRAK. Kata kunci: diagram kelas, xml, java, kode sumber, sinkronisasi. v Universitas Kristen Maranatha ABSTRAK Salah satu bidang kajian dalam bidang teknologi informasi adalah rekayasa perangkat lunak. Dalam rekayasa perangkat lunak, terdapat konsep yang mendasari berbagai jenis metodologi pengembangan

Lebih terperinci

BAB IV ANALISIS DAN PERANCANGAN SISTEM. hasil analisis ini digambarkan dan didokumentasiakan dengan metodologi

BAB IV ANALISIS DAN PERANCANGAN SISTEM. hasil analisis ini digambarkan dan didokumentasiakan dengan metodologi BAB IV ANALISIS DAN PERANCANGAN SISTEM 4.1. Analisis Sistem yang Sedang Berjalan Kegiatan analisis sistem yang berjalan dilakukan dengan analisis yang berorientasi pada objek-objek yang diperlukan oleh

Lebih terperinci

BAB II TINJAUAN PUSTAKA. uang, dan informasi. Sumber daya tersebut bekerjasama menuju

BAB II TINJAUAN PUSTAKA. uang, dan informasi. Sumber daya tersebut bekerjasama menuju BAB II TINJAUAN PUSTAKA 2.1 Pengertian Sistem Sistem adalah sekelompok elemen yang terintegrasi dengan tujuan yang sama. Organisasi terdiri dari sejumlah sumber daya manusia, material, mesin, uang, dan

Lebih terperinci

MODUL PRAKTIKUM DASAR-DASAR PEMROGRAMAN

MODUL PRAKTIKUM DASAR-DASAR PEMROGRAMAN Kata Pengantar Segala puji bagi Allah SWT yang senantiasa melimpahkan rahmat serta hidayahnya dan memberikan ilmu yang bermanfaat kepada kita. Tak lupa shalawat serta salam semoga tetap tercurahkan kepada

Lebih terperinci

Alat bantu (tools) dalam pembuatan parser/ analisis sintaksis. Menggunakan simbol persegi panjang untuk non terminal

Alat bantu (tools) dalam pembuatan parser/ analisis sintaksis. Menggunakan simbol persegi panjang untuk non terminal Diagram Syntax Alat bantu (tools) dalam pembuatan parser/ analisis sintaksis Menggunakan simbol persegi panjang untuk non terminal Lingkaran untuk simbol terminal Misalnya E T T+E T-E E T + - BNF:

Lebih terperinci

2.3 Aplikasi Yang Dipakai Dalam Pembuatan website... II Pemrograman dengan Menggunakan PHP... II Pengertian PHP... II

2.3 Aplikasi Yang Dipakai Dalam Pembuatan website... II Pemrograman dengan Menggunakan PHP... II Pengertian PHP... II DAFTAR ISI ABSTRACT... i ABSTRAK... ii KATA PENGANTAR... iii DAFTAR ISI... v DAFTAR TABEL... viii DAFTAR GAMBAR... ix DAFTAR SIMBOL... xi LAMPIRAN... xvi BAB I PENDAHULUAN 1.1 Latar Belakang... I-1 1.2

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI II.1 Pengertian Aplikasi Aplikasi adalah suatu subkelas perangkat lunak komputer yang memanfaatkan kemampuan komputer langsung untuk melakukan suatu tugas yang diinginkan pengguna.

Lebih terperinci

BAB IV ANALISIS DAN PERANCANGAN SISTEM. sistem yang telah ada, dimana analisis sistem merupakan proses mempelajari suatu

BAB IV ANALISIS DAN PERANCANGAN SISTEM. sistem yang telah ada, dimana analisis sistem merupakan proses mempelajari suatu BAB IV ANALISIS DAN PERANCANGAN SISTEM 4.1 Analisis Sistem Tahapan yang diperlukan didalam pembuatan suatu progaram yaitu menganalisis sistem yang telah ada, dimana analisis sistem merupakan proses mempelajari

Lebih terperinci

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM III.1. Analisis Penelitian bertujuan untuk merancang sebuah sistem yang dapat melakukan penyisipan sebuah pesan rahasia kedalam media citra digital dengan

Lebih terperinci

DAFTAR ISI. KATA PENGANTAR... i. DAFTAR ISI... iii. DAFTAR GAMBAR... xi. DAFTAR TABEL... xvii. DAFTAR SIMBOL... xx BAB I PENDAHULUAN...

DAFTAR ISI. KATA PENGANTAR... i. DAFTAR ISI... iii. DAFTAR GAMBAR... xi. DAFTAR TABEL... xvii. DAFTAR SIMBOL... xx BAB I PENDAHULUAN... DAFTAR ISI KATA PENGANTAR... i DAFTAR ISI... iii DAFTAR GAMBAR... xi DAFTAR TABEL... xvii DAFTAR SIMBOL... xx BAB I PENDAHULUAN... 1 1.1 Latar Belakang... 1 1.2 Rumusan Masalah... 2 1.3 Maksud dan Tujuan...

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Kebutuhan Sistem Tahap analisis sistem merupakan salah satu usaha mengidentifikasi kebutuhan dan spesifikasi sistem yang akan diciptakan. Di dalamnya

Lebih terperinci