BAB II LANDASAN TEORI 2.1 Penerimaan Siswa Baru Sekolah Menengah Atas 2.1.1 Sekolah Menengah Atas Sekolah menengah atas (SMA) merupakan lanjutan dari jenjang pendidikan dasar. Dalam Undang-undang Nomor 20 tahun 2003 tentang Sistem Pendidikan Nasional pasal 18 diatur tentang pendidikan menengah yaitu: 1. Pendidikan menengah merupakan lanjutan pendidikan dasar. 2. Pendidikan menengah terdiri atas pendidikan menengah umum dan pendidikan menengah kejuruan. 3. Pendidikan menengah berbentuk sekolah menengah atas (SMA), madrasah aliyah (MA), sekolah menengah kejuruan (SMK), dan madrasah aliyah kejuruan (MAK), atau bentuk lain yang sederajat. 4. Ketentuan mengenai pendidikan menengah sebagaimana dimaksud pada ayat (1), ayat (2), dan ayat (3) diatur lebih lanjut dengan peraturan pemerintah. 2.1.2 Penerimaan Siswa Baru Penerimaan siswa baru adalah proses pendaftaran, penyeleksian, siswa dari sekolah lama untuk menjadi siswa baru di satu sekolah dengan beberapa persyaratan yang telah ditentukan oleh sekolah. Penerimaan siswa baru merupakan salah satu kewajiban pihak sekolah dan Dinas Pendidikan setiap tahun ajaran baru. 2.1.3 Ujian Online Sistem Ujian Online atau juga bisa disbut dengan ujian informasi online yang berbasis web ataupun media elekronik untuk interfacenya. 8 9 2.2 Rekayasa Perangkat Lunak 2.2.1 Pengertian Rekayasa perangkat lunak atau yang disebut dengan istilah Software Engineering (SE) yaitu bidang profesi yang mendalami cara-cara pengembangan sebuah perangkat lunak termasuk pembuatan ,pemeliharaan, manajemen organisasi pengembangan perangkat lunak dan sebagainya. Perangkat lunak (software) adalah program komputer yang terasosiasi dengan dokumentasi perangkat lunak seperti dokumentasi kebutuhan, model desain, dan cara penggunaan (user manual). Sebuah perangkat lunak juga disebut dengan sistem perangkat lunak. Sistem berate kumpulan komponen yang saling terkait dan mempunyai satu tujuan yang ingin dicapai. User atau pengguna perangkat lunak adalah orang yang memiliki kepentingan untuk memakai atau menggunakan perangkat lunak untuk memudahkan pekerjaannya. Karakter perangkat lunek adalah sebagai berikut : 1. Perangkat lunak dibangun dengan rekayasa (software engineering) bukan diproduksi secara manufaktur atau pabrikan. 2. Perangkat lunak tidak pernah using (wear out) karena kecacatan dalam perangkat lunak dapat diperbaiki. 3. Barang produksi pabrikan biasanya komponen barunya akan terus diproduksi, sedangkan perangkat lunak biasanya terus diperbaiki seiring bertambahnya kebutuhan. Aplikasi dari perangkat lunak adalah sebagai berikut : 1. Perangkat lunak sstem (system software) Kumpulan program dalam hal ini program yang satu ditulis untuk memenuhi kebutuhan program lainnya.Perangkat lunak waktu nyata (real-time software) Merupakan prangkat lunak yang memonitor, menganalisi, mengontrol sesuatu secara waktu nyata (real-time). 2. Perangkat lunak bisnis (business software) Merupakan perangkat lunak pengelola informasi bisnis (seperti akuntansi, penjualan, pembayaran, penyimpanan). 10 2.2.2 Metodologi Rekayasa Perangkat Lunak Rekayasa perangkat lunak pada dasarnya menekankan pada tahapantahapan pengembangansuatu perangkat lunak yaitu : Analisi, Desain, Implementasi, Testing dan Maintenance. Pada tahap yang lebih luas Rekayasa Perangkat Lunak Mengacupada Manajemen Proyek Pengembangan Perangkat Lunakitu sendiri dengan tetap memperhatikan tahapan-tahapan pengembangan sebelimnya. Dalam pengembangannya perangkat lunak mempunyai berbagai model yaitu model waterfall (model konvesional sebagai model terdahulu yang dikembangkan dank arena model waterfall hamper sama dengan siklus hidup pengembangan sistem. 2.2.2.1 Model Waterfall Nama model ini sebenarnya adalah “Linear Sequential Model”. Model ini sering juga disebut “classic life cycle” atau model waterfall. Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ketahap analisi, desain, coding, testing/verification, dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. 11 Gambar 2.1 Model Waterfall Gambar diatas merupakan tahapan umum dari model proses ini. Dibawah ini adalah penjelasan dari tahap-tahap yang dilakukan di dalam model ini : 1. Tahapan Rekayasa Sistem Pada tahap ini sangat menekankan pada masalah kebutuhan pengguna pada tingkatan sistem dengan menentukan konsep sistem besreta antarmuka yang menghubungkannya dengan lingkungan sekitar. Hasilnya berupa spesifikasi sistem. 2. Tahapan Analisis Pada tahap ini dilakukan pengumpulan kebutuhan elemen-elemen di tingkat perangkat lunak. Dengan analisis harus dapat ditentukan domain-domain data atau informasi, fungsi, proses atau prosedur yang diperlukan beserta unjuk kerjanya, dan antarmuka. Hasilnya berupa spesifikasi kebutuhan perangkat lunak. 3. Tahapan Perancangan Pada tahap perancangan kebutuhan-kebutuhan perangkat lunak yang dihasilkan pada tahap analisis, ditransformasikan ke dalam bentuk artsitektur perangkat lunak yang memiliki karakteristik mudah dimengerti dan tidak sulit untuk diterapkan. 12 4. Tahapan Pemrograman Tahap ini melakukan penerapan hasil rancangan kedalam baris-baris kode program yang dapat dimengerti oleh komputer. 5. Tahap pngujian Setelah perangkat lunak selesai diterapkan, pengujian dapat segera dimulai. Pengujian terlebuh dahulu dilakukan pada setiap modul. Jika tidak ada masalah, modul tersebut akan diintegrasikan hingga membentuk perangkat lunak secara utuh. Kemudian dilakukan pengujian tingkat perangkat lunak yang memfokuskan pada masalah-masalah logikainternal, fungsi internal, potensi masalah yang mungkin terjadi dan pemeriksaan hasil apakah sudah sesuai dengan permintaan. 6. Tahapan Pengoperasian dan Pemeliharaan Dalam masa operasional sehari-hari, suatu perangkat lunak mungkin saja mengalami kesalahan atau kegagalan dalam menjalankan fungsi-fungsinya. Atau, pemilik bisa saja meminta peningkatan kemampuan perangkat lunak pada pengembangnya. Dengan demikian, kedua factor ini menyebabkan perlunya perangkat lunak dipelihara dari waktu ke waktu. Biasanya ini merupakan tahapan yang panjang dari perangkat lunak. 2.3 HTML HTML ( Hypertext Markup Language) merupan sebuah protocol yang digunakan untuk membuat format suatu dokumen website yang mampu dibaca dalam browser dari berbagai platform komputer. Salah satu keunggulan HTML adalah hyperlink yang memungkinkan berpindah dari satu halaman ke halaman lain dalam satu site atau diluat site. HTML berupa kode-kode tag yang mengintruksikan browser untuk menghasilkan tampilan sesuai dengan yang diinginkan. Sebyah file yang merupakan file HTML dapat dibuka menggunakan browser web seperti Mozilla Firefox atau Microsoft Internet Explorer. Ada dua cara untuk membuat sebuah web dengan HTML editor atau dengan editor teks biasa (misalnya notepad). Untuk latihan atau mencoba materi sebaiknya menggunakan notepad, setelah itu pada bagian mendekati akhir dapat menggunakan editor HTML. 13 2.4 XAMPP 2.4.1 Pengertian XAMPP adalah tool yang menyediakan paket perangkat lunak kedalam satu buah paket. Dengan menginstal XAMPP tidak perlu lagi menginstal dan mengkonfigurasi web server Apache, PHP dan MySQL secara manual. XAMPP akan menginstal dan mengkonfigurasi secara otomatis. Fungsi XAMPP yaitu sebagai server berdiri sendiri (localhost), terdiri dari program Apache, http server, MySQL, database, dan penterjemah bahasa yang ditulis dengan bahasa pemrograman PHP dan Perl. XAMPP merupakan singkatan dari X (X=Cross Platform), Apache, MySQL, PHP dan Perl. Program ini tersedia dalam lisensi GNU (General Public License) dan gratis. 2.4.2 Apache Web server merupakan software yang memberikan layanan web. Web server menggunakan protocol yang disebut dengan HTTP ( HyperText Transfer Protocol). Di dunia open source memiliki banyak sekali pilihan, tergantung dengan keperluan anda. Salah satu web server yang terkenal dan menjadi standar de facto setiap distribusi linux yaitu Apache. Apache adalah nama web server yang dibuat berbasiskan kode sumber dan ide-ide yang ada pada web server keluhurnya, yaitu web server NCSA. Meurut Firdaus (2007 : 5 ) Web server merupakan sebuah bentuk server yang khusus digunakan untuk menyimpan halaman website atau home page. Apache merupakan turunan dari web server yang dikeluarkan oleh NCSA yaitu NSCA HTTPd sekitar tahun 1995-an. Pada dasarnya, Apache adalah “APatCHy” (patch) dan pengganti dari NCSA HTTPd. Adapun pertimbangan dalam memilih apache sebagai berikut : 1. Apache termasuk dalam kategori free software (software gratis). 2. Instalasinya sangat mudah. 3. Mampu beroperasi pada banyak platform sistem operasi seperti Linux, Windows dan lain-lain. 14 Apache merupakan web server yang bersifat open source dan memiliki performance yang sangat bagus, flexsibel dan mendukung berbagai macam platformsistem operasi. 2.4.3 MySQL MySQL adalah sebuah program database server yang mampu menerima dan mengirimkan datanya dengan sangat cepat, multi user serta menggunakan perintah standar SQL (Structured Query Language). (Nugroho, 2005, h.1). Menurut Firdaus (2007 : 12) MySQL atau yang biasa dibaca “mai-se-kuel” adalah sebuah program pembuat database yang bersifat open source, yang artinya siapa saja boleh menggunakannya. MySQL merupakan salah satu software database (basis data) opensource yang dikembangkan sebuah komunitas bernama MySQL AB dengan tujuan membantu user utuk menyimpan data dalam table-tabel. Table terdiri atas field (kolom) yang mengkelompokan data-data berdasarkan kategori tertentu, seperti nama, alamat, nomor telepon, dan sebagainya. MySQL pertama kali dirintis oleh seorang programmer database bernama Michael Widenuius. Mysql juga merupakan program yang dapat mengakses suatu database MySQL yang berposisi sebagai client. MySQL termasuk jenis RDBMS (Relational Database Management System), itulah sebabnya isi seperti table, baris dan kolom, digunakan dalam MySQL. Disini kita menggunakan MySQL sebagai SQL server karena berbagai kelebihannya yaitu : 1. Source MySQL dapat diperoleh dengan mudah dan gratis. 2. Sintaknya lebih mudah dipahami dan tidak rumit. 3. Pengaksesan database dapat dilakukan dengan mudah. Keunggulan MySQL : 1. Mysql merupakan program yang multi-threaded, sehingga dapat dipasang pada server yang memiliki multi-CPU. 2. Didukung program-program umum seperti C, C++, Java, Perl, PHP, Python, TCL, APIs dls. 15 3. Bekerja pada berbagai platform. (tersedia berbagai versi untuk berbagai sistem operasi). 4. Memiliki jenis kolom yang cukup banyak sehingga memudahkan konfigurasi sistem database. 5. Memiliki sistem security yang cukup baik dengan verifikasi host. 6. Mendukung ODBC untuk sistem operasi Microsoft Windows. 7. Mendukung record yang memiliki kolom dengan panjang tetap atau panjang bervariasi, dan masih banyak keunggulan lainnya. 8. MySQL merupakan software yang free, dan bisa di download di www.mysql.com sedangkan softwaredatabse lainnya seperti ORACLE merupakan software yang harus dibeli. 9. MySQL dan PHP saling terintegrasi. Maksudnya yaitu pembuatan database dengan menggunakan sintak PHP dapat dibuat. Sedangkan input yang dimasukkan melalui aplikasi web yang menggunakan script server-side seperti PHP dapat langsung dimasukkan ke database MySQL yang ada di server dan tentunya web tersebut berada disebuah web server. Kekurangan MySQL : 1. Data yang ditangani belum besar 2. Untuk koneksi ke dalam bahasa pemrograman visual seperti VB, Delphi, dan Foxpro. MySQL kurang support. Karena koneksi ini menyebabkan field yang dibaca harus sesuai dengan koneksi dari program visual tersebut, hal ini yang mengakibatkan MySQL jarang dipakai kedalam program visual Bahasa yang digunakan di database (SQL) dibedakan menjadi 3 (tiga) macam yaitu DDL (Data Definition Language), DML (Data Manipulation Language), DCL (Data Control Language). DDL (Data Definition Language) merupakan sebuah metode query yang berguna untuk mendefinisikan data pada sebuah database. DDL antara lain yaitu : 16 CREATE : untuk membuat table DROP : untuk menghapus table ALTER : untuk melakukan perubahan struktur table yang sudah ada seperti menambah dan menghapus field, rename nama table, mengganti tipe data. DML (Data Manipulation Language) merupaan sebuah metode query yang hanya bisa terjadi setelah DDL yang digunakan untuk manipulasi data-data. DML antara lain yaitu : INSERT : untuk memasukkan data ke dalam table UPDATE : untuk memperbarui data dalam table DELETE : untuk menghapus baris dalam table DCL (Data Control Language) merupakan sebuah metode query untuk memberikan otoritas hak mengakses database, mengalokasikan space, pendefinisian space, dan penggunaan database. DCL antara lain yaitu : GRANT : untuk mengizinkan user utuk mengakses database REVOKE GRANT : untuk membatalkan hak ases user COMMIT : untuk menetapkan penyimpanan database ROLLBACK : untuk membatalkan penyimpanan database 2.5 PHP 2.5.1 Pengertian PHP merupakan bahasa pemrograman yang dijalankan melalui halaman web, umumnya digunakan untuk mengolah informasi di internet. PHP adalah singkatan dari Hypertext Preprocessor yaitu bahasa pemrograman web server-side yang bersifat open source, PHP merupakan script yang terintegrasi dengan HTML dan berada pada server (server side HTML embedded scripting). PHP adalah script yang digunakan untuk membuat halaman website yang dinamis. Dinamis berarti halaman yang ditampilkan dibuat saat halaman itu diminta oleh client. Mekanisme ini menyebabkan informasi yang diterima client selalu yang terbaru atau up to date. Semua script PHP dieksekusi pada server dimana script tersebut dijalankan. 17 Menurut Firdaus (2007 : 18) PHP (Hypertext Preprocessor) merupakan bahasa yang hanya dapat berjalan pada server yang hasilnya dapat ditampilkan pada cient. Dalam mengeksekusi kode PHP pada sisi server (disebut server side) berbeda dengan mesin maya Java yang mengeksekusi program pada sisi klien (client side). Proses eksekusi kode PHP yang disisipkan pada halaman HTML. Menurut Sutarman (2003 : 9) PHP merupakan akronim dari PHP : Hypertext Prepocessor adalah bahasa pemrograman script berbasis web yang paling banyak dipakai pada saat ini. PHP banyak dipakai untuk memrogram situr web yang dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakai lain. Untuk menjalankan sistem PHP dibutuhkan 3 (tiga) komponen yaitu : 1. Web server, karena PHP termasuk behasa pemrograman server side. 2. Program PHP, program yang memproses script PHP. 3. Database server, yang berfungsi untuk mengelola database. PHP juga dapat dilihat sebagai pilihan lain dari ASP.NET/C#/VB.NET Microsoft, ColdFusion Macromedia, JSP/Java Sum Microsystems, dan CGI/Perl. Contoh aplikasi lain yang lebih kompleks berupa CMS yang dibagun menggunakan PHP adalah Mambo, Joomla!, Postnuke, Xaraya, dan lain-lain. Beberapa kelebihan PHP dari bahasa pemrograman web, antara lain yaitu : 1. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaannya. 2. Web Server yang mendukung PHP dapat ditemukan dimana-mana dari mulai IIS sampai dengan Apache, dengan konfigurasi yang relative mudah. 3. Dalam isi pengembangan lebih mudah, karena banyaknya milis-milis dan developer yang siap membantu dalam pengembangan. 4. Dalam isi pemahaman, PHP adalah bahasa scripting yang paling mudah karena mempunyai refrensi yang banyak. 18 5. PHP adalah bahasa open soure yang dapat digunakan diberbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalan perintah-perintah sistem. Selain kelebihan PHP, PHP juga mempunyai kekurangan. Namun masalah kekurangannya sangat sedikit diantaranya yaitu : 1. PHP tidak mengenal Package. 2. Jika tidak di encoding, maka kode PHP dapat dibaca semua orang dan unuk mengecodingnya dibutuhkan tool dari Zend yang mahal sekali biayanya. 3. PHP memiliki kelemahan keamanan. Jadi programmer harus jeli dan berhati-hati dalam melakukan pemrograman dan konfigurasi PHP. Table 2.1 Tipe Data PHP Type Data PHP 1. Integer 2. Doble 3. Boolean 4. String 5. Object 6. Array 7. Null 8. Nill 9. Resource 19 2.6 Web WWW (World Wide Web) atau biasa disebut dengan web merupakan salah satu sumber daya internet yang berkembang pesat. Saat ini, informasi web didistribusikan melalui pendekatan hyperlink, yang memungkinkan suatu teks, gambar, ataupun objek yang lain menjadi acuan untuk membuka halamanhalaman web yang lain. Dengan pendekatan hyperlink ini, seseorang dapat memperoleh informasi dengan meloncat dari suatu halaman ke halaman lain. Halaman-halaman yang diaksespun dapat tersebar di berbagai mesin dan bahkan di berbagai negara (Kadir, 2008, h.2). 2.7 JavaScript JavaScript adalah bahasa pemograman web yang bersifat Client Side Programming Language. Client Side Programming Language adalah tipe bahasa pemograman yang pemrosesannya dilakukan oleh client. Aplikasi client yang dimaksud merujuk kepada web browser seperti Google Chrome dan Mozilla Firefox. Jenis bahasa pemograman Client Side berbeda dengan bahasa pemograman Server Side seperti PHP, dimana untuk server side seluruh kode program dijalankan di sisi server. Untuk menjalankan JavaScript, kita hanya membutuhkan aplikasi text editor, dan web browser. JavaScript memiliki fitur: high-level programming language, client-side, loosely tiped, dan berorientasi objek. 2.8 Notepad++ Notepad++ adalah program aplikasi pengembang yang berguna untuk mengedit teks dan skrip kode pemrograman. Perangkat lunak komputer ini memiliki kelebihan pada peningkatan kemampuan sebuah program text editor, lebih dari sekedar program Notepad bawaan Windows. Notepad++ bisa mengenal tag dan kode dalam berbagai bahasa pemrograman. Fitur pencarian tingkat lanjut dan pengeditan teks yang tersedia juga cukup ampuh, sangat membantu tugas seorang programmer atau developer dalam menyelesaikan skrip kode programnya. 20 Program Notepad++ banyak diaplikasikan dan digunakan oleh kalangan pengguna komputer di bidang pemrograman aplikasi desktop dan web. Basis Data 2.9 Basis Data adalah kumpulan data yang disimpan secara sistematis di dalam komputer dan dapat diolah atau dimanipulasi menggunakan perangkat lunak (program aplikasi) untuk menghasilkan informasi. Pendefinisian basis data meliputi spesifikasi berupa tipe data, struktur, dan juga batasan-batasan data yang akan disimpan. Basis data merupakan aspek yang sangat penting dalam sistem informasi dimana basis data merupakan gudang penyimpanan data yang akan diolah lebih lanjut. Basis data menjadi penting karena dapat menghidari duplikasi data, hubungan antar data yang tidak jelas, organisasi data, dan juga update yang rumit. Proses memasukkan dan mengambil data ke dan dari media penyimpanan data memerlukan perangkat lunak yang disebut dengan sistem manajemen basis data (database management system | DBMS). DBMS merupakan sistem perangkat lunak yang memungkinkan user untuk memelihara, mengontrol, dan mengakses data secara praktis dan efisien. Dengan kata lain semua akses ke basis data akan ditangani oleh DBMS. Ada beberapa fungsi yang harus ditangani DBMS yaitu mengolah pendefinisian data, dapat menangani permintaan pemakai untuk mengakses data, memeriksa sekuriti dan integriti data yang didefinisikan oleh DBA (Database Administrator), menangani kegagalan dalam pengaksesan data yang disebabkan oleh kerusakan sistem maupun disk, dan menangani unjuk kerja semua fungsi secara efisien. Tujuan utama dari DBMS adalah untuk memberikan tinjauan abstrak data kepada user (pengguna). Jadi sistem menyembunyikan informasi tentang bagaimana data disimpan, dipelihara, dan tetap dapat diambil (akses) secara efisien. Pertimbangan efisien di sini adalah bagaimana merancang struktur data yang kompleks tetapi masih tetap bisa digunakan oleh pengguna awam tanpa mengetahui kompleksitas strukturnya. 21 Pembagian database menurut jenisnya: 1. Basis data flat-file. Basis data flat-file ideal untuk data berukuran kecil dan dapat dirubah dengan mudah. Pada dasarnya, mereka tersusun dari sekumpulan string dalam satu atau lebih file yang dapat diurai untuk mendapatkan informasi yang disimpan. Basis data flat-file baik digunakan untuk menyimpan daftar atau data yang sederhana dan dalam jumlah kecil. Basis data flat-file akan menjadi sangat rumit apabila digunakan untuk menyimpan data dengan struktur kompleks walaupun dimungkinkan pula untuk menyimpan data semacam itu. Salah satu masalah menggunakan basis data jenis ini adalah rentan pada korupsi data karena tidak adanya penguncian yang melekat ketika data digunakan atau dimodifikasi. 2. Basis data relasional. Basis data ini mempunyai struktur yang lebih logis terkait cara penyimpanan. Kata "relasional" berasal dari kenyataan bahwa tabel-tabel yang berada di basis data dapat dihubungkan satu dengan lainnya. Basis data relasional menggunakan sekumpulan tabel dua dimensi yang masing-masing tabel tersusun atas baris (tupel) dan kolom (atribut). Untuk membuat hubungan antara dua atau lebih tabel, digunakan key (atribut kunci) yaitu primary key di salah satu tabel dan foreign key di tabel yang lain. Saat ini, basis data relasional menjadi pilihan karena keunggulannya. Beberapa kelemahan yang mungkin dirasakan untuk basis data jenis ini adalah implementasi yang lebih sulit untuk data dalam jumlah besar dengan tingkat kompleksitasnya yang tinggi dan proses pencarian informasi yang lebih lambat karena perlu menghubungkan tabeltabel terlebih dahulu apabila datanya tersebar di beberapa tabel. 2.10 UML 2.10.1 Pengertian UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan 22 pendokumentasian dari sebuah sistem pengembangan software berbasis OO (Object-Oriented). Flower (2005:1) UML (Unified Modeling Language) adalah sebuah “bahasa” yang telah menjadi standar dalam industry untuk virtualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. UML ditemukan pertama kali oleh Grady Booch, Ivar Jacobson dan Jumes Rumbugh pada tahun 1990-an. Mereka berdua memadukan dan mengadopsi ideide serta kemampuan tambahan dari masing-masing metodenya dan berusaha membuat metodologi terpadu. UML merupakan alat bantu yang sangat baik di dunia pengembangan perancangan sistem berorientasi objek. Hal ini dikarenakan UML menyediakan bahasa pemodelan visual yang memungkinkan pengembang/perancangan sistem untuk membuat rencana/prototype mereka dalam bentuk buku, mudah dimengerti serta dilengkapi dengan mekanisme yang efektif untuk berbagi dan mengkomunikasikan rancangan mereka dengan yang lain. UML hanya berfungsi untuk melakukan pemodelan. Jadi penggunaan UML tidak terbatas pada metodologi tertentu, meskipun pada kenyataannya UML paling banyak digunakan pada metodologi berorientasi objek. Dengan menggunakan UML dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi apapun, serta ditulis dalam bahasa pemrograman apapun. Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax atau semantic. Notasi UML merupakan sekumpulan khusus untuk menggambarkan berbagai diagram priranti lunak setiap bentuk memiliki makna tertentu, dan syntax UML mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. UML akan digunakan pada tahap analisa dan desain. Desain yang dihasilkan berupa diagram-diagram UML yang akan diterjemahkan menjadi kode program pada tahap implementasi. 23 Tabel 2.2 Jenis Diagram UML No 1. Diagram Class Kegunaan Class, fitur dan Kategori hubungan- hubungan 2. Object Contoh konfigurasi dari contoh- Structure contoh 3. Component Struktur dan koneksi komponen 4. Composite Dekomposisi runtime pada class Diagrams Structure 5. Package Struktur hirarki compile-time 6. Deployment Pemindahan artefak ke node 7. Activity Behavior procedural dan parallel 8. Use case Bagaimana pengguna berinteraksi dengan sebuah sistem 9. State Machine Behavior Bagaimana event mengubah objek Diagrams selama aktif 10. Interaction Overview 11. Sequence Campuran sequence dan activity diagram Interaksi anatar objek; penekanan pada sequence Interaction 12. Communication Inteaksi antar objek; penekanan Diagram pada jalur 13. Timing Interaksi antar objek penekanan pada timing 2.10.2 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 sebuah cerita bagaimana sebuah system dipakai. Use case merupakan konstruksi untuk mendeskripsikan bagaimana system akan terlihat di mata user. Sedangkan use case diagram memfasilitasi komunikasi diantara analis dan pengguna serta antara analis dan client. 24 Use case mendeskripsikan sebuah interaksi antara satu atau lebih actor dengan sistem yang akan dibuat. Secara kasar, use case digunakan untuk mengetahui fungsi apa saja yang ada didalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu. Tabel 2.3 Notasi Use Case Diagram Notasi Nama Keterangan Simbol Digunakan Aktor untuk menggambarkan pelaku atau pengguna. Pelaku ini meliputi manusia atau sistem komputer atau subsistem lain yang memiliki metode untukmelakukan sesuatu. Digunakan Use Case untuk menggambarkan spesifikasi pekerjaan (job specification) dan deskripsi pekerjaan (job description), serta keterkaitan antar pekerjaan (job). Aliran Digunakan untuk menggambarkan Proses hubungan antara use case dengan use case lainnya. Sistem Digunakan untuk Boundry batas suatu sistem. menggambarkan 2.10.3 Activity Diagram Pada dasarnya diagram Activity sering digunakan oleh flowchart. Diagram ini berhubungan dengan diagram Statechart. Diagram Statechart berfokus pada obyek yang dalam suatu proses (atau proses menjadi suatu obyek), diagram Activity berfokus pada aktifitas-aktifitas yang terjadi yang terkait dalam suatu 25 proses tunggal. Jadi dengan kata lain, diagram ini menunjukkan bagaimana aktifitas-aktifitas tersebut bergantung satu sama lain. Activity diagram juga sangat berguna ketika kita ingin menggambarkan perilaku/menjelaskan bagaimana perilaku dari berbagai use case berinteraksi. Table 2.4 Notasi Diagram Aktifitas Notasi Nama Simbol Keterangan Initial State Titik awal Final State Titik akhir State Aktifitas Decision Pilihan untuk mengambil keputusan Fork Digunakan untuk menunjukan kegiatan yang dilakukan paralen atau menggabungkan kegiatan parallel menjadi satu 2.10.4 `Definisi Object dan Diagram Class Object adalah gambaran dari entity, baik dunia nyata atau konsep dengan batasan-batasan dan pengertian yang tepat. Objek bisa mewakili sesuatu yang nyata seperti komputer,mobil atau dapat berupa konsep seperti proses kimia, transaksi bank, permintaan pembelian, dll. Setiap objek dalam sistem memiliki tiga karakteristik yaitu State(Status), Behaviour(Sifat) dan Indentity(identitas). Class adalah deskripsi sekelompok objek dari property(atribut), sifat (operasi), relasi antar objek dan sematik yang umum. Class merupakan template untuk membentuk objek. Setiap objek merupakan contoh dari beberapa class dan objeck tidak dapat menjadi contoh lebih dari satu class. Penamaan Class menggunakan kata benda tunggal yang merupakan abstraksi yang terbaik. 26 Pada UML Class digambarkan dengan segi empat yang dibagi. Bagian atas merupakan nama dari class. Bagian yang tengah merupakan struktur dari class(atribut) dan bagian bawah merupakan sifat dari class(operasi).