BAB V IMPLEMENTASI DAN PENGUJIAN
|
|
|
- Djaja Budiman
- 9 tahun lalu
- Tontonan:
Transkripsi
1 BAB V IMPLEMENTASI DAN PENGUJIAN Berdasarkan analisis pada BAB III dan perancangan pada BAB IV, telah diimplementasikan autograder Phobos untuk melakukan penilaian tugas pemrograman berupa source code secara otomatis. Implementasi dan pengujian Phobos masing-masing akan dibahas pada Subbab 45.1 dan Implementasi Dalam Tugas Akhir ini, telah diimplementasikan sebuah penilai source code otomatis dengan nama Phobos. Penjelasan mengenai lingkungan pengembangan dan implementasi Phobos akan diberikan pada Subbab Batasan implementasi akan dibahas pada Subbab 5.1.2, sementara detil implementasi akan dibahas pada Subbab hingga Subbab Lingkungan Implementasi dan Pengembangan Autograder Phobos yang diimplementasikan dalam platform Java Runtime Environment dan PHP dikembangkan dalam lingkungan perangkat keras sebagai berikut: 1. Prosesor Intel Pentium M 1,7 GHz. 2. Memory DDR2 512 MB. 3. Harddisk IDE 60 GB. Spesifikasi perangkat lunak yang dibutuhkan untuk implementasi autograder Phobos dalam platform Java Runtime Environment dan PHP yaitu: 1. Java Runtime Environment Java Platform, Standard Edition Development Kit Eclipse IDE Europa Web Server Apache Autograder Phobos telah diimplementasikan pada sistem operasi Windows XP SP2 Professional dan Ubuntu Linux rilis Dapper Drake 6.06 LTS. V-1
2 V Batasan Implementasi Batasan dalam implementasi source code autograder yang diberi nama Phobos dapat dijabarkan sebagai berikut: 1. Saat ini Phobos hanya dapat menangani deteksi pada source code dalam bahasa pemrograman LISP dan Pascal sesuai dengan analisis pada Subbab File serahan tugas berupa source code yang ditangani berjumlah 1 (satu) file untuk 1 (satu) siswa pada 1 (satu) tugas. 3. Spesifikasi tugas yang dapat dinilai mengikuti panduan pada LAMPIRAN J. 4. Penyusunan dan penghapusan file-file source code dilakukan secara manual Implementasi Kelas Setiap kelas pada komponen autograder engine akan diimplementasikan dalam bahasa Java. Sebuah kelas akan diimplementasikan dalam sebuah file. Kelas-kelas telah diimplementasikan sesuai dengan daftar kelas yang telah dirancang pada Subbab 4.1. Pada saat implementasi, modul diorganisasi menurut package yang sesuai. Seluruh kelas berada dalam package akar phobos. Di dalam package phobos terdapat subpackage manager, marker dan langdef. Subsistem Manager diimplementasikan dalam subpackage manager. Kelas-kelas penilai diorganisasi dalam subpackage marker, yang berisi subpackage oracle sebagai implementasi subsistem Oracle dan subpackage whiteboxmarkers sebagai implementasi subsistem WhiteboxMarkers. Kelas-kelas prosesor bahasa pemrograman diorganisasi dalam subpackage langdef, yang berisi subpackage lisp untuk kelas-kelas interpreter Lisp dan subpackage package untuk kelas-kelas interpreter Pascal Implementasi Antarmuka dan Penyimpanan Data Persisten Antarmuka untuk komponen aplikasi web dan aplikasi backend berbeda. Aplikasi front-end diimplementasikan menggunakan bahasa pemrograman PHP tanpa rancangan kelas khusus. Pada aplikasi web, setiap halaman web diimplementasikan secara fisik sebagai satu buah file HTML yang terpisah dari kode yang akan dieksekusi bila ada aksi yang dilakukan user. Implementasi tampilan pada aplikasi web sesuai dengan perancangan pada Subbab 4.2. Komponen autograder engine tidak memiliki antarmuka, karena komponen ini memang dirancang untuk tidak digunakan langsung oleh pengguna, melainkan eksekusinya di-trigger oleh aplikasi web seperti eksekusi perintah pada shell, sehingga antarmuka tidak diperlukan.
3 V-3 Penyimpanan data persisten telah diimplementasikan sebagai file dan direktori pada file system dalam sistem operasi. Setiap file merepresentasikan instansi baru, dengan identitas penanda pada nama file. Seluruh file yang dibutuhkan untuk proses penilaian diletakkan di dalam folder resources, termasuk skema penilaian (subdirektori schemas), laporan nilai diletakkan (subdirektori report) dan serahan tugas (subdirektori source). Seluruh peletakan data persisten diatur menggunakan file konfigurasi yang terpisah dan dapat diubah dengan mudah di masa mendatang Implementasi Interpreter Spesifik Bahasa Pemrograman Pada Subbab ini akan dibahas mengenai bagaimana interpreter untuk tiap bahasa pemrograman diimplementasikan dalam Phobos. Pada Subbab ini juga akan dibahas mengenai bagaimana interpreter bahasa pemrograman baru dapat dikembangkan dan ditambahkan ke dalam Phobos agar dapat menangani bahasa pemrograman baru Proses Pengembangan Interpreter Sebagaimana telah dibahas pada bab 3.3.6, pemroses bahasa pemrograman dalam Phobos akan mencakup pengembangan interpreter untuk tiap bahasa pemrograman yang ditangani. Sampai dengan tahap implementasi, rancangan yang telah dimiliki adalah rancangan untuk interpreter generik. Pengembangan interpreter juga direncanakan akan dibantu oleh generator parser Antlr. Antlr dapat membuat Lexer dan Parser secara otomatis dari grammar sebuah bahasa pemrograman, dan juga TreeParser untuk memproses pohon sintaks abstrak hasil proses parsing. Pengembangan interpreter dimulai dari menemukan grammar bahasa pemrograman. Grammar dapat diperoleh dari membuat sendiri grammar berdasarkan spesifikasi bahasa yang bersangkutan, atau menggunakan grammar yang telah tersedia. Grammar yang dibutuhkan untuk pembuatan interpreter ada tiga jenis, yaitu grammar leksikal untuk Lexer, grammar sintaksis untuk Parser dan tree grammar untuk TreeParser. Pengembang Antlr telah menyediakan grammar untuk berbagai bahasa pemrograman yang umum digunakan, di antaranya Pascal, C, C++, C#, Java, dan Python. Berdasarkan ketiga grammar ini, Antlr dapat membangkitkan kelas prosesor pohon sintaks abstrak (Lexer, Parser dan TreeParser) secara otomatis. Proses pembuatan interpreter selanjutnya dilakukan berdasarkan trial and error. Literatur, artikel dan source code yang ditemukan serta mata kuliah yang diikuti pada umumnya hanya membahas topik kompilasi sampai dengan teknik parsing untuk membangkitkan pohon
4 V-4 sintaks abstrak. Informasi mengenai pemrosesan pohon sintaks abstrak untuk menghasilkan efek eksekusi yang diharapkan sangat sedikit. Sebenarnya, interpreter pertama yang dicoba untuk dikembangkan adalah interpreter untuk bahasa Java, dengan pertimbangan bahwa telah tersedia grammar dan contoh pengolahan pohon sintaks abstrak dalam bentuk pemeriksa pola Checkstyle. Pada percobaan pertama ini, proses interpretasi bahasa Java dicoba dilakukan sepenuhnya dengan penelusuran (treewalking) terhadap pohon sintaks abstrak. Pada akhirnya pengembangan interpreter Java dibatalkan, karena grammar untuk bahasa Java amat rumit sehingga dengan demikian interpreter bahasa Java dinilai sebagai awal usaha pengembangan yang salah. Upaya pengembangan interpreter dilanjutkan dengan pengembangan interpreter untuk bahasa Lisp, yang dinilai lebih sederhana. Grammar Lisp tidak tersedia pada situs pengembang Antlr. Grammar Lisp yang tersedia yaitu grammar leksikal dan sintaksis yang telah dibuat oleh Cynthia Kustanto [KUS07] untuk kepentingan deteksi plagiarisme otomatis. Grammar leksikal dan sintaksis yang dikembangkan ini dibatasi hanya pada konsep dan fitur yang digunakan pada pengajaran pemrograman dasar S1-IF-ITB, karena spesifikasi bahasa GNU Common Lisp formal meliputi sekitar 1000 (seribu) konstruksi, makro dan fungsi [STE90]. Grammar yang disederhanakan ini hanya mencakup sekitar 30 keyword fungsi dan konstruksi seperti tipe data dasar dan list saja. Meskipun harus dimodifikasi secara menyeluruh untuk kepentingan eksekusi, grammar Lisp ini akhirnya dapat digunakan dalam proses interpretasi. Pada tahap ini, diperoleh kesimpulan bahwa fitur-fitur yang akan diimplementasikan hanya fitur-fitur yang digunakan pada pengajaran pemrograman dasar S1-IF-ITB. Proses interpretasi yang dilakukan sepenuhnya berdasarkan penelusuran pohon sintaks abstrak saja, sementara fungsi diimplementasikan sebagai kelas-kelas untuk menyeragamkan proses eksekusi program. Spesifikasi interpreter Lisp pada Phobos yang telah dikembangkan akan diberikan pada LAMPIRAN H. Interpreter yang dikembangkan selanjutnya adalah interpreter untuk bahasa Pascal. Grammar yang digunakan untuk bahasa Pascal adalah grammar yang dikembangkan oleh Hakki Dogusan berdasarkan spesifikasi oleh Wirth [WIR73]. Grammar yang telah tersedia pada situs pengembang Antlr ini terdiri dari grammar leksikal, sintaksis dan tree grammar, walaupun tree grammar yang ada masih belum lengkap. Bersama dengan grammar tersebut telah tersedia pula kerangka kelas untuk hampir seluruh aturan gramatik Pascal. Pada awalnya pengembangan interpreter diusahakan untuk dilakukan hanya berdasarkan penelusuran pohon saja, namun pada saat penulisan kode, menjadi jelas bahwa dibutuhkan kelas-kelas khusus
5 V-5 untuk merepresentasikan behaviour program saat runtime. Kelompok kelas baru ini kemudian dinamai dengan kelas eksekusi. Pembangkitan objek-objek eksekusi ini dilakukan pada saat penelusuran pohon dengan bantuan tree grammar. Perancangan kelas-kelas eksekusi ini akan dijelaskan secara lebih mendetil pada Subbab , sementara spesifikasi interpreter Pascal pada Phobos yang telah dikembangkan akan diberikan pada LAMPIRAN I. Pengembangan interpreter untuk suatu bahasa membutuhkan cukup banyak waktu dan upaya. Sumber daya yang digunakan berbanding lurus terhadap tingkat kerumitan bahasa yang hendak diimplementasikan. Pada Tugas Akhir ini, diputuskan untuk menghentikan proses pengembangan interpreter sampai dengan bahasa Lisp dan Pascal saja, dengan pembahasan teknis mengenai pengembangan interpreter bahasa pemrograman baru pada LAMPIRAN G Perancangan Interpreter Secara umum, modul interpreter pada Phobos terbagi ke dalam beberapa lapisan, yaitu lapisan antarmuka, lapisan pemroses pohon sintaks abstrak, dan lapisan eksekusi. Arsitektur implementasi interpreter Phobos secara umum dapat dilihat pada Gambar V-1. Antarmuka Interpreter PhobosLisp LispInterpreter PascalInterpreter PhobosPascal Pemroses Pohon Sintaks Abstrak LispParser PascalParser LispObjectStream PascalTreeParser LispLexer PascalLexer Eksekusi LispLibrary LispObject PascalNamedBlock PascalScope LispFunction PascalFunction PascalProcedure Gambar V-1 Arsitektur Interpreter Phobos
6 V-6 Antarmuka interpreter menghubungkan implementasi interpreter pada sistem lain, baik sistem autograder maupun sebagai interpreter mandiri. Antarmuka interpreter pada Phobos berfungsi untuk mengabstraksikan proses parsing dan eksekusi program terhadap sistem penilai otomatis, sehingga sistem dapat berjalan dengan secara seragam untuk seluruh bahasa yang ada. Proses input/output kepada program juga diimplementasikan. Antarmuka interpreter kepada autograder ini diimplementasikan sebagai sebuah kelas abstrak Interpreter. Implementasi interpreter untuk masing-masing bahasa pemrograman terdapat pada kelas-kelas turunan dari Interpreter, yaitu LispInterpreter dan PascalInterpreter. Dengan adanya lapisan antarmuka dalam modul interpreter ini, timbul pemikiran agar interpreter Phobos dirancang agar dapat dipergunakan tidak hanya dalam konteks penilaian otomatis. Interpreter Phobos dirancang untuk dapat digunakan secara mandiri agar dapat dipergunakan oleh siswa pada saat berlatih membuat program atau untuk mendukung aplikasi lainnya. Antarmuka interpreter sebagai sistem mandiri untuk interpreter Lisp diimplementasikan oleh kelas PhobosLisp, dan interpreter Pascal oleh PhobosPascal. Pemroses pohon sintaks abstrak adalah kelas-kelas yang dibangkitkan secara otomatis oleh Antlr. Bagian ini terbagi ke dalam tiga kelompok menurut tahap-tahap awal interpretasi, yaitu kelas Lexer untuk tahap analisis leksikal, kelas Parser untuk tahap analisis sintaks dan kelas TreeParser untuk tahap treewalking. Kelas Parser menggunakan kelas Lexer untuk membangkitkan pohon sintaks abstrak dari source code yang diberikan. Kedua kelas ini dibangkitkan secara otomatis oleh Antlr dari grammar bahasa pemrograman yang terkait, yaitu pada file lisp.g dan pascal.g. Lexer dan parser untuk Lisp bernama LispLexer dan LispParser. Lexer dan Parser untuk Pascal bernama PascalLexer dan PascalParser. Kelas TreeParser menerima pohon sintaks abstrak dan kemudian melakukan penelusuran terhadap pohon tersebut. Pada proses interpretasi, treewalking dilakukan untuk membangkitkan objek-objek eksekusi dari pohon sintaks abstrak tersebut. Kelas ini dibangkitkan secara otomatis oleh Antlr dari tree grammar bahasa pemrograman yang terkait, yaitu pada file lisp.tree.g dan pascal.tree.g. Kelas TreeParser untuk Lisp dinamai LispObjectStream, sementara untuk Pascal dinamai PascalTreeParser. Detil grammar dan tree grammar untuk Lisp dan Pascal diberikan pada Lampiran H. Pada lapisan eksekusi terdapat kelas-kelas implementasi untuk setiap aturan grammar bahasa pemrograman beserta library dasar yang disediakan untuk setiap bahasa pemrograman. Kelas-kelas eksekusi merupakan instansiasi dinamik dari tiap konstruksi pohon sintaks
7 V-7 abstrak. Kelas-kelas eksekusi harus dibuat terpisah untuk menangani proses saat runtime seperti penanganan scope, pembuatan tabel simbol, stack eksekusi atau parameter binding. Jumlah kelas pada layer ini sebanding dengan kerumitan bahasa pemrograman yang bersangkutan secara konseptual. Jumlah kelas dapat juga diperkirakan dari jumlah aturan produksi simbol nonterminal dan fungsi library yang diimplementasikan. Bahasa pemrograman Lisp dapat digolongkan sederhana karena hanya memiliki sembilan aturan produksi simbol nonterminal. Untuk implementasi interpreter Lisp, terdapat 42 kelas untuk kelas eksekusi. Sebanyak 37 dari antara kelas runtime Lisp merupakan implementasi library. Bahasa Pascal tergolong bahasa pemrograman yang lebih rumit dengan aturan produksi simbol nonterminal sebanyak 90 aturan. Dengan hanya tiga kelas di antaranya merupakan kelas implementasi library, kelas eksekusi untuk Pascal berjumlah 102 buah. Heuristik ini dapat dipergunakan untuk memperkirakan jumlah kelas eksekusi sebuah bahasa dan upaya yang akan dikeluarkan untuk membuat modul interpreter bahasa pemrograman baru. Sebagai gambaran, sebuah bahasa pemrograman yang cukup rumit seperti Java memiliki 145 aturan grammar dapat diperkirakan akan memiliki sekitar kelas runtime apabila akan diimplementasikan secara penuh. Detil perancangan kelas selengkapnya untuk Interpreter Lisp Phobos beserta grammar yang digunakan akan dibahas lebih dengan lebih mendetil pada Lampiran H dan Lampiran I. Berikut ini adalah sebuah contoh proses perancangan kelas eksekusi dari aturan grammar bahasa pemrograman. Diberikan sebuah produksi simbol non terminal <ifstatement> dalam Pascal sebagaimana tertera pada Kode V-1. Dalam perancangan kelas runtime terdapat heuristik bahwa satu simbol nonterminal menjadi satu kelas. Jika satu simbol nonterminal <B> merupakan produksi dari simbol nonterminal <A>, maka dapat dibuat kelas <B> sebagai turunan dari kelas A. Dalam contoh di atas, rule statement dapat dibuat sebagai kelas parent bernama PascalStatement. Karena telah diketahui bahwa statement dalam Pascal dapat dieksekusi, maka dapat ditambahkan metode executestatement() ke dalam kelas PascalStatement. <statement> ::= <simplestatement> <structuredstatement> <structuredstatement> ::= <compoundstatement> <conditionalstatement> <repetetivestatement> <withstatement> <ifstatement> ::= STRUCT_IF <expression> PREP_THEN <statement> (PREP_ELSE <statement>) Kode V-1 Aturan Produksi Simbol Nonterminal <ifstatement> pada Pascal
8 V-8 Berdasarkan aturan produksi seperti di atas, maka dapat dibuat rancangan kelas eksekusi PascalIfStatement sebagai turunan dari kelas PascalStatement. Kelas ini akan memiliki tiga atribut, yaitu condexpression yang bertipe PascalExpression, thenstatement dan elsestatement yang bertipe PascalStatement. Kelas PascalExpression merupakan kelas yang merepresentasikan simbol nonterminal <expression> dan dapat dievaluasi sehingga memiliki method evaluateexpression. Metode executestatement pada PascalIfStatement dapat kemudian diimplementasikan sebagaimana tertera pada Kode V-2. public void executestatement() { if (condexpression.evaluateexpression()) { thenstatement.executestatement(); } else if (elsestatement!= null) { elsestatement.executestatement(); } } Kode V-2 Contoh implementasi metode executestatement pada kelas PascalIfStatement Implementasi Ekstensibilitas Penilaian dan Bahasa Pemrograman Sebagaimana telah ditentukan dalam kebutuhan non fungsional pada Subbab 3.3.3, ekstensibilitas merupakan salah satu faktor penentu dalam pengembangan Phobos. Autograder Phobos dirancang agar dapat diperluas dengan mudah tanpa banyak melakukan perubahan pada modul-modul utama. Perluasan yang dapat dilakukan adalah penambahan jenis penilaian baru dan penambahan bahasa pemrograman yang dapat ditangani. Pengembangan Phobos untuk menangani jenis penilaian baru dapat dilakukan dengan membuat turunan baru dari kelas Marker. Kelas turunan baru ini harus mengimplementasikan method executemarking untuk melakukan penilaian. Jika penilaian yang dilakukan dapat diimplementasikan menggunakan fasilitas yang sudah ada (notifikasi setiap kali token tertentu muncul) maka tidak perlu dibuat kelas tambahan lain. Tidak ada perubahan kode yang harus dilakukan karena mekanisme loading kelas dilakukan secara dinamis, namun harus ditambahkan entri jenis penilaian baru pada metaskema yang sesuai dengan nama kelas implementasi Marker. Sebagai konvensi penamaan, nama implementasi penilai harus sama dengan jenis penilaian dengan penambahan sufiks -Marker di belakang nama tersebut.
9 V-9 Pengembangan Phobos untuk menangani bahasa pemrograman baru dapat dilakukan dengan menambahkan modul interpreter baru dengan mengikuti panduan pada LAMPIRAN G. Tidak ada perubahan kode yang harus dilakukan karena mekanisme loading interpreter dilakukan secara dinamis, namun harus ditambahkan entri bahasa pemrograman baru pada metaskema yang sesuai dengan nama kelas implementasi Interpreter. Sebagai konvensi penamaan, nama implementasi interpreter harus sama dengan nama bahasa pemrograman dengan penambahan sufiks -Interpreter di belakang nama tersebut Pengujian Pada Subbab ini akan diberikan penjelasan mengenai perancangan komponen autograder engine pada Phobos. Autograder engine adalah komponen yang bertanggung jawab melakukan penilaian otomatis pada serahan tugas yang diberikan berdasarkan trigger dari aplikasi front-end. Sebagai komponen pada logic tier, komponen ini mengimplementasikan dari seluruh use case sistem : membuat skema penilaian, menilai tugas source code, melihat laporan nilai, dan menghapus hasil penilaian. Rancangan kelas-kelas dalam autograder engine dapat dilihat pada Gambar Lingkungan Pengujian Lingkungan pengujian Phobos secara keseluruhan dapat dilihat pada Gambar V-2. Phobos terletak pada layer Autograder Phobos. Lingkungan pengujian membentuk jaringan intranet lokal. Server pengujian yang digunakan merupakan server tempat terinstalasinya LMS milestone (lihat Subbab 3.1). Server pengujian tersebut memiliki spesifikasi perangkat keras sebagai berikut: 1. Processor Intel Pentium 4 3 GHz; 2. Memori 512 MB DDR; 3. Harddisk IDE 120 GB; Spesifikasi perangkat lunak yang dimiliki server pengujian tersebut yaitu sebagai berikut: 1. Sistem Operasi Ubuntu Linux Java Platform, Standard Edition Development Kit Web Server Apache Basis Data MySQL
10 V-10 Gambar V-2 Lingkungan pengujian Phobos Aplikasi web Phobos dapat diakses dari komputer lain pada jaringan intranet lokal tersebut melalui alamat Persiapan Pengujian Sebelum dilakukan pengujian, dilakukan pengumpulan data uji berupa source code yang ditulis secara manual dan beberapa source code yang terpilih dari hasil praktikum IF1282 Dasar Pemrograman. Setelah itu dilakukan instalasi aplikasi backend dan aplikasi web ke komputer dengan spesifikasi yang telah diuraikan pada Subbab Penjelasan detil mengenai data uji dan instalasi diuraikan pada Subbab dan Subbab Data Uji Pengujian untuk penilai otomatis dilakukan menggunakan sejumlah source code yang dibuat secara manual dan sejumlah source code yang dipilih secara khusus dari kumpulan hasil praktikum IF2182 Dasar Pemrograman pada semester II 2006/2007. Tidak seluruh source code yang tersedia dari praktikum dapat diuji menggunakan Phobos, karena penilaian menggunakan Phobos hanya dapat dilakukan dengan beberapa prekondisi tertentu. Untuk source code dalam bahasa LISP, penilaian yang melibatkan uji eksekusi hanya dapat dilakukan pada fungsi-fungsi yang memiliki nama yang seragam. Source code dalam bahasa Pascal hanya dapat dieksekusi apabila tingkah laku (behaviour) orientasi barisnya seragam.
11 V Instalasi Prototipe Sebelum pengujian dilakukan, terlebih dahulu dilakukan instalasi Phobos ke server yang telah dideskripsikan pada Subbab Pada Subbab ini, akan dijelaskan cara instalasi Phobos sebagai bagian dari persiapan pengujian. Berikut ini diuraikan langkah-langkah instalasi Phobos: 1. Periksa instalasi Java Virtual Machine dan Apache/PHP pada server, lakukan instalasi apabila belum terdapat aplikasi tersebut. 2. Copy direktori autograder engine Phobos ke server yang dituju. 3. Copy direktori aplikasi web Phobos ke server yang dituju. Tempatkan di direktori yang bisa diakses melalui protokol http. Terdapat file dengan nama config.inc.php pada direktori aplikasi web tersebut. Pada file tersebut, isi path tempat penyimpanan direktori aplikasi autograder engine, source code dan skema penilaian pada file konfigurasi tersebut Kasus Uji Pada Subbab ini, dibahas mengenai kasus uji untuk pengujian unit, pengujian fungsional berdasarkan use case, dan pengujian non-fungsional. Detil setiap pengujian diberikan pada Subbab , Subbab dan Subbab Pengujian Unit Untuk menguji fungsionalitas Phobos, dilakukan pengujian untuk unit yang mengimplementasikan fungsionalitas utama pada aplikasi autograder engine. Pengujian unit dilakukan untuk kelas SchemaManager, MarkingManager dan ReportManager. Detil pengujian unit untuk kelas-kelas ini dapat dilihat pada Tabel V-1. Selain itu, pengujian unit dilakukan untuk modul interpreter LISP dan Pascal secara terpisah. Detil pengujian unit interpreter dapat dilihat pada Subbab H.6 dan Subbab I.6. Tabel V-1 Pengujian Unit untuk Kelas-Kelas Phobos No Unit Deskripsi Data masukan Hasil uji 1. SchemaManager Membuat definisi skema Skema penilaian : Diterima penilaian baru penilaian dengan eksekusi, bobot 100%, 5 data uji Skema penilaian : Diterima penilaian dengan eksekusi, bobot 80%, 5 data uji, SLOC, bobot 20%. Membuka definisi skema Schema_id = 1 Diterima penilaian Schema_id = 7 Diterima 2 MarkingManager Membaca direktori berdasarkan Directory = prak1 Diterima 3 ReportManager Menyimpan laporan penilaian baru parameter Directory =prak7 Diterima MarkingResult : [81,0.81] Diterima MarkingResult : [100,1]
12 V-12 No Unit Deskripsi Data masukan Hasil uji MarkingResult : [78,3.271] Diterima MarkingResult : [97, 4.891] Membuka Laporan Penilaian Schema id = 7 Diterima Source dir = prak7 Schema id = 1 Source dir = prak1 Diterima Pengujian Fungsional berdasarkan Use Case Pada Subbab ini akan dibahas mengenai pengujian aplikasi berdasarkan use case sebagaimana tercantum pada Subbab Pembahasan mengenai uji unit untuk tiap use case akan dijabarkan pada Tabel V-2 Tabel V-2 Hasil Pengujian Use Case terhadap Phobos No Use Case Function Data masukan Hasil 1. PHB-UC-01 Membuat definisi skema Spesifikasi tugas dengan bahasa penilaian pemrograman LISP, untuk soal Mean, dengan data uji diberikan secara manual dan penilaian yang telah ditentukan sebelumnya. Spesifikasi tugas dengan bahasa pemrograman Pascal, untuk soal HitungIPK, dengan data uji diberikan secara manual. 2. PHB-UC-02 Penilaian otomatis pada kumpulan source code untuk solusi model dan sekumpulan source code yang ditulis secara manual untuk menunjukkan kekurangan pada kasuskasus tertentu. Skema penilaian yang sudah ada (Mean-LISP) diedit dengan mengubah bobot perhitungan nilai akhir di antara penilaian-penilaian. Skema penilaian Mean-LISP, dan source code solusi model (eksekusi sempurna, memenuhi konvensi penulisan kode, cukup sederhana dan efisien). Skema penilaian Mean-LISP, dan source code solusi model bersama tiga source code program benar namun tidak sempurna (kasus source code tidak memenuhi konvensi penulisan kode, source code rumit, dan source code tidak efisien). Skema penilaian Mean-LISP, dan source code solusi model bersama tiga source code program lulus kompilasi dengan keluaran yang salah pada satu, dua dan semua kasus uji.
13 V-13 No Use Case Function Data masukan Hasil Skema penilaian Mean-LISP, dan source code model bersama empat source code program gagal kompilasi pada kasus tanda kurung tidak berimbang, variabel tidak dikenal, fungsi tidak dikenal, jumlah parameter tidak sesuai. 3. PHB-UC-03 Melihat hasil penilaian otomatis pada kumpulan source code yang telah dijalankan sebelumnya. 4. PHB-UC-04 Menghapus laporan nilai dari proses penilaian yang telah dijalankan sebelumnya. Skema penilaian Mean-LISP, dan source code model bersama dua source code program yang mengalami runtime error pada kasus tanda kurung rekursif tanpa basis, dan kesalahan tipe masukan fungsi. Skema penilaian HitungIPK-Pascal, dan source code model bersama enam source code program gagal kompilasi pada kasus kesalahan sintaks (titik koma tidak ada, begin-end tidak berimbang), tipe tidak dikenal, variabel tidak dikenal, fungsi/prosedur tidak dikenal, definisi ulang simbol yang telah didefinisikan. Skema penilaian HitungIPK-Pascal, dan source code model bersama empat source code program runtime error pada kasus akses indeks array yang di luar batas, pembagian oleh nol, infinite loop, variabel belum diinisialisasi, assignment pada variabel yang berbeda tipe. Kumpulan source code Pascal dari mata kuliah IF1282, jumlah source code 120. Kumpulan source code Pascal dari mata kuliah IF1282, jumlah source code Pengujian Non-Fungsional Pada Subbab ini akan dibahas mengenai pengujian aplikasi berdasarkan kebutuhan non fungsional sebagaimana telah tercantum pada Subbab Detil hasil pengujian tiap spesifikasi dapat dilihat pada Tabel V-3.
14 V-14 Tabel V-3 Hasil Pengujian Kebutuhan Nonfungsional Phobos Nomor SRS PHB-SRS- NF-01 PHB-SRS- NF-02 PHB-SRS- NF-03 Spesifikasi Keterangan Hasil uji Aksesibilitas Efisiensi Ekstensibilitas Layanan autograder dan hasil penilaiannya dapat diakses dari komputer manapun yang terhubung pada internet. Autograder harus mampu menilai source code yang mencapai ratusan dalam waktu yang dapat ditoleransi, yaitu tidak lebih dari setengah hari kerja untuk kelas berisi seratus mahasiswa. Autograder dapat dikembangkan lebih lanjut agar dapat menangani bahasa pemrograman lain tanpa mengembangkan ulang seluruh autograder. Phobos dapat diakses dari berbagai komputer melalui web browser. Dengan menggunakan lingkungan pengujian pada Subbab BAB I, Phobos mampu menilai 100 buah source code di bawah 10 menit. Untuk menangani bahasa pemrograman lain, hanya perlu menambahkan modul interpreter baru (lihat Subbab untuk detil implementasi) Hasil Pengujian Pada Subbab ini akan dibahas mengenai hasil-hasil pengujian terhadap aplikasi Phobos. Berdasarkan pengujian, Phobos dapat memenuhi setiap spesifikasi fungsional dan nonfungsional yang didefinisikan pada Subbab 3.3. Berdasarkan penjelasan di Subbab 1.1, hasil penilaian otomatis dapat membantu pengajar untuk menentukan nilai akhir siswa dari latihan pemrograman yang diberikan secara frequent. Pengajar dapat melakukan variasi terhadap proses penilaian yang dilakukan Phobos dengan cara mengubah skema penilaian yang diberikan. Secara umum, source code yang tidak lulus parsing akan langsung mendapat nilai 0 dengan keterangan kesalahannya. Nilai hasil eksekusi sebanding dengan jumlah butir uji yang berhasil dijalankan dengan baik. Karena skema penilaian yang digunakan umumnya memberikan proporsi besar pada nilai pengujian (seperti halnya pada proses inspeksi kode oleh pengajar), nilai eksekusi sangat menentukan nilai akhir siswa. Penilaian untuk aspekaspek whitebox umumnya menggunakan aturan penilaian relatif terhadap source code lainnya atau aturan biner, nilai penuh jika syarat sudah dipenuhi. Pengujian menggunakan source code yang sengaja digunakan untuk menguji fitur penilai spesifik dapat menunjukkan bahwa penilai-penilai ini telah dapat bekerja dengan baik.
BAB III ANALISIS. 3.1 Deskripsi Sistem III-1
BAB III ANALISIS Kegiatan pengajaran pemrograman pada Program Studi Sarjana Teknik Informatika ITB (S1- IF-ITB) sejak tahun 2006 diikuti oleh mahasiswa dalam jumlah besar, sehingga timbul kebutuhan akan
BAB IV PERANCANGAN. 4.1 Autograder Engine IV-1
BAB IV PERANCANGAN Pada Tugas Akhir ini, akan dijelaskan mengenai perancangan autograder Phobos. Berdasarkan deksripsi arsitektural pada Subbab 3.3.4, Phobos secara umum terdiri dari beberapa tingkatan
BAB V IMPLEMENTASI DAN PENGUJIAN
BAB V IMPLEMENTASI DAN PENGUJIAN Berdasarkan analisis pada BAB III dan perancangan pada BAB IV, telah dikembangkan detektor plagiarisme bernama Deimos untuk mendeteksi plagiarisme source code di kelas
BAB III ANALISIS. upload tugas pemrograman. komunikasi. pemberian tugas. grading. deteksi plagiarisme. Milestone
BAB III ANALISIS Untuk membangun perangkat lunak yang mampu mendeteksi kasus plagiarisme pada sekumpulan source code dengan menggunakan metode berbasis struktur, dilakukan analisis terhadap Learning Management
Deteksi Otomatis Plagiarisme Source Code
Deteksi Otomatis Plagiarisme Source Code LAPORAN TUGAS AKHIR Disusun sebagai syarat kelulusan tingkat sarjana oleh : CYNTHIA KUSTANTO / NIM. 13503066 PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TEKNIK ELEKTRO
BAB III METODE PENELITIAN
BAB III METODE PENELITIAN 3.1 Desain Penelitian Desain dan tahapan yang dilakukan dalam penelitian ini dapat dilihat pada gambar berikut: Rumusan Masalah Pengembangan Perangkat Lunak Analisis Data Model
BAB IV IMPLEMENTASI DAN EVALUASI
BAB IV IMPLEMENTASI DAN EVALUASI 4.1 Metodologi Penelitian Dalam pelaksanaan kerja praktek dilakukan pendekatan dengan cara peninjauan untuk masalah apa yang terdapat di dalam SMA Negeri 1 Pandaan. Peninjauan
BAB III METODOLOGI PENELITIAN. Berikut tahapan penelitian yang dilakukan: 1. Menentukan kebutuhan data yang akan digunakan.
BAB III METODOLOGI PENELITIAN 3.1 Desain Penelitian Desain penelitian yaitu tahapan yang akan dilakukan peneliti untuk mempermudah dalam melakukan penelitian. Desain penelitian rancang bangun aplikasi
3.1 APLIKASI YANG DITANGANI OLEH CODE GENERATOR
BAB III ANALISIS Bab ini berisi analisis mengenai aplikasi web target code generator, analisis penggunaan framework CodeIgniter dan analisis perangkat lunak code generator. 3.1 APLIKASI YANG DITANGANI
BAB III ANALISIS DAN PERANCANGAN
BAB III ANALISIS DAN PERANCANGAN Kondisi pengolahan data yang telah dijabarkan sebelumnya pada bab 1 (satu) memiliki keterkaitan terhadap permasalahan yang teridentifikasi. Yaitu permasalahan terkait desain
Pemrograman dengan Java
Pemrograman dengan Java Java sebagai salah satu bahasa pemrograman baru menjanjikan banyak kemudahan bagi programer junior maupun senior. Tutorial ini akan membawa Anda mengenal lebih jauh bahasa ini melalui
BAB III PEMBAHASAN. Analisis sistem dapat didefinisikan sebagai penguraian dari suatu sistem
BAB III PEMBAHASAN 3.1. Analisis Sistem Analisis sistem dapat didefinisikan sebagai penguraian dari suatu sistem informasi yang utuh kedalam bagian-bagian komponennya dengan maksud untuk mengidentifikasikan
BAB V IMPLEMENTASI DAN PENGUJIAN
BAB V IMPLEMENTASI DAN PENGUJIAN Bab kelima ini berisi uraian hasil implementasi dan pengujian terhadap perangkat lunak yang dibuat pada tugas akhir ini. 5.1 Implementasi Sub bab ini mendeskripsikan hasil
3.1 Ganesha Digital Library
BAB III ANALISIS Dalam bab ini akan dibahas mengenai analisis perangkat lunak yang akan dibangun. Analisis dilakukan pada sistem lama dan sistem baru. Analisis pada sistem lama meliputi penerapan folksonomy,
PERANCANGAN DAN IMPLEMENTASI SISTEM INFORMASI SEKOLAH (STUDI KASUS SMP N 2 PATIKRAJA BANYUMAS)
PERANCANGAN DAN IMPLEMENTASI SISTEM INFORMASI SEKOLAH (STUDI KASUS SMP N 2 PATIKRAJA BANYUMAS) Ajeng Puspitasari Rahastri 1, Tengku A. Riza, ST.,MT.2, Rohmat Tulloh 3 1,2, Prodi D3 Teknik Telekomunikasi,
BAB 4 IMPLEMENTASI DAN EVALUASI. Pada bagian implemenatasi ini, akan dijelaskana mengenai rencana Kebutuhan Sumber Daya Aplikasi
BAB 4 IMPLEMENTASI DAN EVALUASI 4.1 Implementasi Pada bagian implemenatasi ini, akan dijelaskana mengenai rencana implementasi yang meliputi kebutuhan sumber daya aplikasi, cara instalasi aplikasi dan
BAB V PENGEMBANGAN PERANGKAT LUNAK BANTU
BAB V PENGEMBANGAN PERANGKAT LUNAK BANTU Di dalam bab ini akan dibahas implementasi model pengukuran menggunakan Metode Prism dalam bentuk pengembangan prototipe perangkat lunak bantu berupa analisis,
BAB IV IMPLEMENTASI DAN PENGUJIAN APLIKASI. Setelah melakukan analisis dan perancangan terhadap Aplikasii
BAB IV IMPLEMENTASI DAN PENGUJIAN APLIKASI 4.1 Implementasi Setelah melakukan analisis dan perancangan terhadap Aplikasii, tahapan selanjutnya adalah implementasi dan pengujian aplikasi. Pada tahapan implementasi
1 BAB III METODE PENELITIAN
1 BAB III METODE PENELITIAN 1.1 Desain Penelitian Desain penelitian merupakan tahapan atau gambaran yang akan dilakukan dalam melakukan penelitian. Tahapan-tahapan yang dilakukan dalam penelitian ini dapat
BAB 4 IMPLEMENTASI DAN EVALUASI. dan sistem operasi dengan spesifikasi sebagai berikut: 1. Processor: Intel Pentium, Core Duo, 1.
BAB 4 IMPLEMENTASI DAN EVALUASI 4.1 Lingkungan Perancangan Dalam perancangan program simulasi ini, penulis menggunakan komputer dan sistem operasi dengan spesifikasi sebagai berikut: 1. Processor: Intel
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:
Source Code Autograder
Source Code Autograder LAPORAN TUGAS AKHIR Disusun sebagai syarat kelulusan tingkat sarjana oleh : Ronny / 13503039 PROGRAM STUDI INFORMATIKA SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG
BAB IV IMPLEMENTASI DAN PENGUJIAN
BAB IV IMPLEMENTASI DAN PENGUJIAN Sistem baru yang telah dibangun sesuai dengan perancangan, kemudian akan diimplementasikan untuk mengetahui apakah sistem tersebut dapat berjalan sesuai dengan tujuannya
BAB III METODOLOGI. Penelitian ini dilaksanakan di Ruang Server Biro Sistem Informasi (BSI)
BAB III METODOLOGI 3.1. Tempat dan Waktu Penelitian Penelitian ini dilaksanakan di Ruang Server Biro Sistem Informasi (BSI) yang berlokasi di Gedung AR Fachruddin B Universitas Muhammadiyah Yogyakarta,
BAB III ANALISIS. 3.1 Analisis Model Business Process Outsourcing
BAB III ANALISIS 3.1 Analisis Model Outsourcing Dari beberapa penjelasan mengenai model Outsourcing (BPO) pada subbab 2.3.1, diajukan Gambar III.1 sebagai gambaran umum dari BPO pada Tugas Akhir ini. Beberapa
BAB V IMPLEMENTASI SISTEM
BAB V IMPLEMENTASI SISTEM 5.1 Implementasi Pada bab ini akan diuraikan cara dan langkah-langkah untuk mengimplementasikan rancangan perangkat lunak, kebutuhan perangkat lunak maupun perangkat keras yang
BAB 1 PENDAHULUAN Latar Belakang Masalah
BAB 1 PENDAHULUAN 1.1. Latar Belakang Masalah Perangkat lunak isql*plus merupakan antar muka berbasis web untuk aplikasi SQL*Plus. isql*plus adalah bagian dari produk SQL*Plus pada basis data Oracle yang
LAPORAN PRAKTIKUM 1 TEKNIK KOMPILASI
LAPORAN PRAKTIKUM 1 TEKNIK KOMPILASI DI SUSUN OLEH : ADITYA TUNGGAL PRAKOSO 3201216005 PRODI TEKNIK INFORMATIKA JURUSAN TEKNIK ELEKTRO POLITEKNIK NEGERI PONTIANAK TAHUN 2015 BAB 1 TEORI PRAKTIKUM A. BAHASA
ANALISIS DAN PERANCANGAN PERANGKAT LUNAK
BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK Bab ini membahas analisis perancangan perangkat lunak (diberi nama c2p) dari segi struktur data dan analisis aliran data. Hal-hal yang dibahas diantaranya
BAB I PENDAHULUAN I.1 Latar Belakang
BAB I PENDAHULUAN I.1 Latar Belakang Perkembangan teknologi informasi menyebabkan setiap individu ataupun kelompok mau tidak mau menerapkannya dalam segala aktifitas. Salah satu contoh penerapannya adalah
BAB I PENDAHULUAN 1.1 LATAR BELAKANG
BAB I PENDAHULUAN Bab ini berisi bagian pendahuluan yang mencakup latar belakang, rumusan dan batasan masalah, tujuan, metodologi pengerjaan, serta sistematika pembahasan dari Tugas Akhir ini. 1.1 LATAR
BAB 1 PENDAHULUAN. Universitas Kristen Maranatha
BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Pengajaran mata kuliah pemrograman biasanya diikuti oleh banyak mahasiswa. Dengan semakin besarnya jumlah mahasiswa dan banyaknya tugas yang harus diperiksa,
BAB I PERSYARATAN PRODUK
BAB I PERSYARATAN PRODUK I.1 Pendahuluan Teknologi informasi dalam segala bidang sangat dibutuhkan. Khususnya bidang pendidikan dalam pengembangan kemampuan berbahasa pemrograman. Media komunikasi yang
1.1 Latar Belakang Masalah
BAB 1. PENDAHULUAN Pada bab ini akan dijelaskan mengenai latar belakang pengajuan topik tugas akhir, perumusan masalah berdasarkan latar belakang, tujuan yang merupakan jawaban dari perumusan masalah,
Pada akhir pembahasan, peserta diharapkan dapat :
Pengenalan Java tujuan Pada akhir pembahasan, peserta diharapkan dapat : Menjelaskan fitur-fitur teknologi Java seperti, Java Virtual Machine(JVM), garbage collection, dan code security. Menjelaskan perbedaan
Pemrograman Web Teknik Informatika Fakultas Teknologi Industri
22 Pengantar PHP PHP merupakan sebuah bahasa scripting yang dibundel dengan HTML, yang dijalankan di sisi server. Sebagian besar perintahnya berasal dari C, Java dan Perl dengan beberapa tambahan fungsi
BAB IV ANALISIS DAN PERANCANGAN. sistem informasi yang utuh kedalam bagian-bagian komponennya dengan
BAB IV ANALISIS DAN PERANCANGAN 4.1. Analisis Sistem Analisis sistem dapat didefinisikan sebagai penguraian dari suatu sistem informasi yang utuh kedalam bagian-bagian komponennya dengan maksud untuk mengidentifikasikan
BAB III ANALISIS DAN PERANCANGAN
BAB III ANALISIS DAN PERANCANGAN 3.1 Gambaran umum sistem Pada tugas akhir ini, akan dibuat sebuah aplikasi berbasis jaringan internet dimana aplikasi ini digunakan untuk membantu seorang admin dalam mengendalikan
BAB III METODOLOGI PENELITIAN. tools yang akan digunakan untuk merancang aplikasi generator denah
24 BAB III METODOLOGI PENELITIAN 3.1 Alat dan Bahan Penelitian 1. Alat Penelitian Alat penelitian berupa perangkat keras dan perangkat lunak sebagai tools yang akan digunakan untuk merancang aplikasi generator
BAB V IMPLEMENTASI DAN PENGUJIAN
BAB V IMPLEMENTASI DAN PENGUJIAN Bab kelima ini berisi uraian hasil implementasi dan pengujian terhadap perangkat lunak yang dibuat pada tugas akhir ini. 5.1 Implementasi Sub bab ini mendeskripsikan hasil
TEKNIK KOMPILASI Tony Darmanto,ST / Smt V S1 TI / STMIK WIDYA DHARMA/ Hal 1
1. PENDAHULUAN TEKNIK KOMPILASI Tony Darmanto,ST / Smt V S1 TI / STMIK WIDYA DHARMA/ Hal 1 Arti Kata Teknik Kompilasi Teknik adalah suatu Metode atau Cara Kompilasi adalah suatu Proses mengabungkan serta
MATERI DAN METODE. Investigasi Sistem. Analisis Sistem. Desain Sistem. Pemeliharaan Sistem. Implementasi Sistem
MATERI DAN METODE Lokasi dan Waktu Penelitian ini dilaksanakan di Departemen Ilmu Nutrisi dan Teknologi Pakan Fakultas Peternakan, Institut Pertanian Bogor mulai Maret 2011 sampai Mei 2012. Materi Alat
BAB IV IMPLEMENTASI DAN PENGUJIAN
BAB IV IMPLEMENTASI DAN PENGUJIAN Bab ini membahas tentang implementasi dan pengujian perangkat lunak yang dibangun pada tugas akhir ini. Implementasi akan dibahas pada Subbab 4.1, sedangkan pengujian
BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM. implementasi perangkat keras, implementasi basis data, implementasi instalasi
BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM 5.1. Implementasi Tahap implementasi merupakan tahap penerapan sistem supaya dapat di operasikan. Pada tahap ini dijelaskan mengenai, implementasi perangkat lunak,
BAB I PENDAHULUAN. I.1 Latar Belakang
BAB I PENDAHULUAN I.1 Latar Belakang PT S merupakan merupakan salah satu dari perusahaan tekstil yang tergabung dalam PT X, dan sama halnya dengan PT F. Kedua perusahaan ini berada di bawah naungan PT
BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM
BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM 5.1. Implementasi Tahap implementasi merupakan tahap penerapan sistem supaya dapat di operasikan. Pada tahap ini dijelaskan mengenai, implementasi perangkat lunak,
III. METODOLOGI PENGEMBANGAN. Adapun peralatan yang digunakan pada penelitian adalah sebagai berikut:
21 III. METODOLOGI PENGEMBANGAN 3.1 Peralatan Pendukung Adapun peralatan yang digunakan pada penelitian adalah sebagai berikut: Komputer 1 sebagai lokal dengan spesifikasi di berikut ini : 1. Processor
BAB III METODE PENELITIAN. Gambar 3.1 ini merupakan desain penelitian yang akan digunakan. Exponential Smoothing
30 BAB III METODE PENELITIAN 3.1 Desain Penelitian Gambar 3.1 ini merupakan desain penelitian yang akan digunakan. Rumusan Masalah Pengumpulan Data Curah (Skotlandia Bagian Barat) Studi Literatur : Peramalan,
MODUL 3 DASAR-DASAR PHP
MODUL 3 DASAR-DASAR PHP Para pengguna internet dewasa ini cenderung lebih menyukai situs-situs yang mempunyai tampilan menarik dan menghibur. Yang pasti, mereka sudah bosan dengan tampilan web yang begitu-begitu
Review C/C++ & Intro to Java. Pemrograman Berorientasi Obyek IT209
Review C/C++ & Intro to Java Pemrograman Berorientasi Obyek IT209 Pemrograman Terstruktur Pemrograman terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu
BAB I PENDAHULUAN Pendahuluan Tujuan
BAB I PENDAHULUAN 1.1. Pendahuluan Dewasa ini penggunaan internet semakin banyak, hampir semua kalangan mengenal dan terbiasa menggunakan internet. Oleh karena itu teknologi internet menjadi sumber informasi
IMPLEMENTASI DAN PENGUJIAN
BAB V IMPLEMENTASI DAN PENGUJIAN Implementasi pengintegrasian layanan-layanan informasi perguruan tinggi akan dilakukan dengan menggunakan web services. Setiap layanan akan memiliki independency masing-masing,
BAB 1 PENDAHULUAN. Seiring dengan perkembangan teknologi yang begitu pesat, manusia semakin
BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Seiring dengan perkembangan teknologi yang begitu pesat, manusia semakin dimudahkan untuk melakukan berbagai macam hal dengan menggunakan teknologi terutama
BAB I PERSYARATAN PRODUK
BAB I PERSYARATAN PRODUK Dengan berkembangannya bahasa pemrograman sekarang ini, maka dibutuhkan editor bahasa pemrograman yang dapat memberikan solusi lengkap untuk penggunanya. Beberapa tahun yang lalu,
BAB IV IMPLEMENTASI DAN EVALUASI. Sistem yang dibangun pengembang adalah berbasis web. Untuk dapat
BAB IV IMPLEMENTASI DAN EVALUASI 4.1 Kebutuhan Implementasi Sistem yang dibangun pengembang adalah berbasis web. Untuk dapat menjalankan sistem tersebut dengan baik dibutuhkan beberapa persyaratan mengenai
BAB I PERSYARATAN PRODUK
BAB I PERSYARATAN PRODUK 1.1 Pendahuluan Perusahaan CV. Alfa Teknologi membutuhkan aplikasi untuk pengembangan reservasi penginapan. Aplikasi ini bisa menjadi investasi bagi perusahaan, karena di Indonesia
4. BAB IV ANALISIS DAN PERANCANGAN SISTEM. diusulkan perancangan sistem baru, dimana kinerja dari suatu sistem yang baru
4. BAB IV ANALISIS DAN PERANCANGAN SISTEM 4.1 Perancangan Sistem Perancangan sistem dilakukan apabila tahap dari analisis sistem telah selesai dilakukan. Berdasarkan pada hasil analisis sistem yang sedang
BAB IV IIMPLEMENTASI DAN PENGUJIAN. Implementasi merupakan tahap pengembangan dimana hasil analisis dan
BAB IV IIMPLEMENTASI DAN PENGUJIAN Implementasi merupakan tahap pengembangan dimana hasil analisis dan perancangan dijadikan acuan dalam pembuatan kode program. Pada awal bagian ini akan dijelaskan spesifikasi
1. Pilih BAB IV IMPLEMENTASI DAN PENGUJIAN. kebutuhan sistem yang meliputi emulator Java2 Micro Edition(J2ME) dan telepon
Keterangan: 1. Pilih Back : berfungsi untuk kembali ke menu form daftar Tajwid. BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Setelah melakukan analisis dan perancangan terhadap aplikasi Pembelajaran
BAB 3 METODOLOGI PENELITIAN
BAB 3 METODOLOGI PENELITIAN 3.1 Desain Penelitian Menentukan Kebutuhan Data Yang Digunakan Mengumpulkan Data Yang Akan Digunakan Mempersiapkan Alat Dan Bahan Wawancara Studi Literatur Desain Penelitian
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM 4.1 Implementasi Tahap ini dilakukan setelah perancangan selesai dilakukan dan selanjutnya akan diimplementasikan pada bahasa pemrograman yang akan digunakan. Tujuan
BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM. konfigurasi pada perangkat lunak serta perangkat keras sesuai kebutuhan sistem
BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM 5.1 Implementasi Implementasi merupakan akhir dari sebuah pengembangan sistem informasi. Implementasi sistem tentunya mengacu pada rancangan sistem yang telah dibuat.
PERANCANGAN PROGRAM. struktur/hirarki menu, State Transition Diagram (STD), modul dan pseudocode, serta
BAB 4 PERANCANGAN PROGRAM 4. Perancangan Program Dalam perancangan program aplikasi ini, terlebih dahulu dibuat rancangan struktur/hirarki menu, State Transition Diagram (STD), modul dan pseudocode, serta
BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah. Perkembangan aplikasi teknologi informasi saat ini sudah berkembang begitu pesat
1 BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Perkembangan aplikasi teknologi informasi saat ini sudah berkembang begitu pesat dan menambah di berbagai bidang, seperti pendidikan, perbankan, perhubungan,
1.1 Latar Belakang Masalah
BAB 1. PENDAHULUAN Bab ini menjelaskan tentang latar belakang masalah, rumusan masalah, tujuan pembahasan, ruang lingkup kajian, sumber data, serta sistematika penyajian yang akan dibahas dalam pembuatan
BAB II LANDASAN TEORI. produk itu baik atau rusak ataupun untuk penentuan apakah suatu lot dapat diterima
BAB II LANDASAN TEORI 2.1 Inspeksi Menurut Kamus Besar Bahasa Indonesia (KBBI) dan hasil studi lapangan (wawancara) Inspeksi adalah suatu kegiatan penilaian terhadap suatu produk, apakah produk itu baik
Makalah Tentang Konten Manajemen Sistem Untuk Ujian Kompetensi Online
Makalah Makalah Tentang Konten Manajemen Sistem Untuk Ujian Kompetensi Online Makalah ini disusun untuk memenuhi Sidang Tugas Akhir Pada Politeknik Elektronika Negeri Surabaya Oleh Achmad Guritno NRP.
BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah
BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Java adalah sebuah bahasa pemrograman yang populer dan terkenal dengan penggunaan resource yang sedikit. Dalam paket instalasi Java Developer Kit tidak menyertakan
PENGEMBANGAN PROTOTIPE APLIKASI KONVERSI KODE DARI BAHASA C KE PASCAL
PENGEMBANGAN PROTOTIPE APLIKASI KONVERSI KODE DARI BAHASA C KE PASCAL LAPORAN TUGAS AKHIR Disusun Sebagai Syarat Kelulusan Tingkat Sarjana oleh : Ipam Fuaddina Adam / 13502079 PROGRAM STUDI TEKNIK INFORMATIKA
BAB III ANALISIS DAN PERANCANGAN SISTEM. Analisis sistem bertujuan untuk mengidentifikasi permasalahan
BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Sistem Analisis sistem bertujuan untuk mengidentifikasi permasalahan permasalahan yang ada pada sistem di mana aplikasi dibangun yang meliputi perangkat
1.1 Latar Belakang Masalah
BAB 1. PENDAHULUAN Bab ini mendeskripsikan tentang latar belakang masalah, rumusan masalah, tujuan pembahasan, ruang lingkup kajian, sumber data dan sistematika penyajian. 1.1 Latar Belakang Masalah Dengan
BAB III ANALISIS PRAKTEK KERJA LAPANGAN. bagian-bagian komponennya dengan maksud untuk mengidentifikasikan dan
BAB III ANALISIS PRAKTEK KERJA LAPANGAN 3.1 Analisis Sistem Analisis Sistem adalah penguraian dari suatu masalah yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk mengidentifikasikan dan
BAB 4 IMPLEMENTASI DAN EVALUASI. Dalam perancangan program Spesifikasi sistem yang digunakan saat
BAB 4 IMPLEMENTASI DAN EVALUASI 4.1 Spesifikasi Sistem Dalam perancangan program Spesifikasi sistem yang digunakan saat pengembangan aplikasi adalah: Operating System : Windows XP SP2 Professional Edition
Pengantar Pemrograman dengan Bahasa Java
Pengantar Pemrograman dengan Bahasa Java IF2123 Aljabar Geometri Oleh: Rinaldi Munir Sekolah Teknik Elektro dan Informatika ITB 1 Sejarah Bahasa Java Bahasa java dibuat oleh James Gosling saat masih bergabung
Mengenal Pemrograman Web Dengan JSP
Mengenal Pemrograman Web Dengan JSP Iman Amalludin [email protected] :: http://blog.imanllusion.hostzi.com Abstrak Apa yang dimaksud dengan JSP? JSP (Java Server Pages) adalah bahasa scripting untuk
TEKNIK KOMPILASI. Firrar Utdirartatmo
TEKNIK KOMPILASI TEKNIK KOMPILASI Firrar Utdirartatmo Kata Pengantar Penulis memberanikan diri untuk menyusun buku ini karena melihat kenyataan bahwa teknik kompilasi merupakan mata kuliah yang diajarkan
BAB IV IMPLEMENTASI DAN PENGUJIAN APLIKASI. Sistem pengolahan data merupakan satu kesatuan kegiatan pengolahan
126 BAB IV IMPLEMENTASI DAN PENGUJIAN APLIKASI 4.1. Kebutuhan Sistem Sistem pengolahan data merupakan satu kesatuan kegiatan pengolahan data atau informasi yang terdiri dari prosedur dan pelaksana data.
AP2B-Dini Triasanti KONSEP DASAR PYTHON
KONSEP DASAR PYTHON Pada awalnya, motivasi pembuatan bahasa pemrograman ini adalah untuk bahasa skrip tingkat tinggi pada sistem operasi terdistribusi Amoeba. Bahasa pemrograman ini menjadi umum digunakan
BAB III METODOLOGI 3.1 Analisis Kebutuhan Sistem Kebutuhan Perangkat Keras
19 BAB III METODOLOGI 3.1 Analisis Kebutuhan Sistem 3.1.1 Kebutuhan Perangkat Keras Pada penelitian yang dilakukan, adapun perangkat keras (hardware) yang dibutuhkan untuk menunjang implementasi pada sistem
APLIKASI INVENTARIS BUKU UNTUK PERPUSTAKAAN BERBASIS WEB. Sir Kalifatullah Ermaya. Abstrak
APLIKASI INVENTARIS BUKU UNTUK PERPUSTAKAAN BERBASIS WEB Sir Kalifatullah Ermaya Abstrak Perkembangan teknologi yang pesat membawa banyak perubahan dalam bertukar informasi. Pertukaran informasi yang dulunya
BAB I PENDAHULUAN. komputer adalah teknik komando/instruksi untuk memerintahkan. komputer. Bahasa pemrograman ini merupakan suatu himpunan dari
BAB I PENDAHULUAN 1.1. Latar Belakang Bahasa pemrograman atau sering diistilahkan juga dengan bahasa komputer adalah teknik komando/instruksi untuk memerintahkan komputer. Bahasa pemrograman ini merupakan
BAB IV IMPLEMENTASI DAN EVALUASI. keras dan perangkat lunak untuk sistem ini adalah sebagai berikut :
BAB IV IMPLEMENTASI DAN EVALUASI 4.1 Implementasi Sistem Sistem yang dibuat ini membutuhkan perangkat keras dan perangkat lunak dengan spesifikasi tertentu agar dapat dijalankan. Adapun kebutuhan perangkat
SISTEM INFORMASI LABORATORIUM KOMPUTER UKRIDA
Jurnal Teknik dan Ilmu Komputer SISTEM INFORMASI LABORATORIUM KOMPUTER UKRIDA (The Information System of Ukrida Computer Laboratory) Andy Septianto, Florensa Rosani Purba* Fakultas Teknik dan Ilmu Komputer
U U U UC-17 Skenario normal I Skenario alternatif I
6 6.1 Rencana dan Prosedur 6.1.1 Rencana Rencana pengujian dibuat berdasarkan skenario use case yang terdefinisi pada Subbab 2.3.4. Rencana pengujian dapat dilihat pada Tabel 6-1. Tabel 6-1 Rencana Use
BAB 4 IMPLEMENTASI DAN EVALUASI
BAB 4 IMPLEMENTASI DAN EVALUASI 4.1 Implementasi 4.1.1 Jadwal Implementasi Penerapan aplikasi ini terdiri dari beberapa tahapan berkelanjutan, dengan penjadwalan yang dapat dilihat pada tabel berikut ini:
@UKDW BAB 1 PENDAHULUAN
BAB 1 PENDAHULUAN 1.1. Latar Belakang Masalah Salah satu bentuk teknologi yang sedang berkembang di era digital ini adalah teknologi clouds. Aplikasi Clouds sudah banyak digunakan untuk berbagai keperluan
BAB III METODOLOGI PENELITIAN
38 BAB III METODOLOGI PENELITIAN 3.1 Desain Penelitian Studi Literatur: Peramalan, Curah Hujan, Knowledge Discovery in Database, Jaringan Saraf Tiruan, Backpropagation, Optimalisasasi Backpropagation Pengumpulan
Bahasa Pemrograman Python
Bahasa Pemrograman Python Tyan Suhesti [email protected] :: http://tyansuhesti.blogspot.com Abstrak Python merupakan bahasa pemrograman yang freeware atau perangkat bebas dalam arti sebenarnya,
BAB V IMPLEMENTASI SISTEM
BAB V IMPLEMENTASI SISTEM Pada bab ini akan dijelaskan implementasi dari Aplikasi Sistem Pendukung Keputusan Penilaian kinerja yang sudah dibangun 5.1 Lingkungan Implementasi Lingkungan implementasi meliputi
1.1 Latar Belakang. 1 Universitas Kristen Maranatha
BAB I PENDAHULUAN 1.1 Latar Belakang Meningkatnya kebutuhan manusia terhadap suatu informasi mengakibatkan peningkatan yang besar juga terhadap kecanggihan suatu teknologi. Suatu teknologi dapat dikatakan
