9
BAB II
TINJAUAN PUSTAKA
II.1. Sejarah Pemilu
Pemilihan Umum sebagai sarana penyaluran aspirasi demokrasi memegang peranan penting bagi kehidupan berbangsa dan bernegara. Melalui pemilu setiap warga negara memiliki hak untuk menentukan orang-orang yang akan duduk di kursi kepemimpinan.
Secara historis, Indonesia telah mengalami 10 kali pemilihan umum masing-masing tahun 1955, 1971, 1977, 1982, 1987, 1992, 1997, 1999, 2004 dan 2009.
Pada awalnya pemilu ditujukan hanya untuk memilih anggota lembaga perwakilan seperti DPR, DPRD Provinsi, dan DPRD Kabupaten/Kota.
Namun seiring dilakukannya amandemen UUD 1945 pada tahun 2002, pemilihan presiden dan wakil presiden (pilpres), yang sebelumnya dilakukan oleh MPR, disepakati untuk dilakukan langsung oleh rakyat. Sehingga semenjak 2004 pilpres pun dimasukkan ke dalam rezim pemilu. (Website Komisi Pemilihan Umum Provinsi Sumatera Utara)
1. Pemilihan Gubernur
Berdasarkan Undang-Undang Nomor 22 Tahun 2007, pemilihan kepala daerah dan wakil kepala daerah (pilkada) dimasukkan pula sebagai bagian dari rezim pemilu.
Sehingga pemilu yang saat ini di kenal masyarakat adalah pemilu legislatif dan pemilu presiden dan wakil presiden yang diadakan acap lima tahun sekali. (Website Komisi Pemilihan Umum Provinsi Sumatera Utara)
2. Kedudukan
Berdasarkan Peraturan Pemerintah Republik Indonesia No. 19 Tahun 2010 menjelaskan bahwa Tata Cara Pelaksanaan Tugas Dan Wewenang Serta Kedudukan Keuangan Gubernur Sebagai Wakil Pemerintah Di Wilayah Provinsi BAB II Pasal 2 sebagai berikut :
- Gubernur yang karena jabatannya berkedudukan juga sebagai wakil Pemerintah di wilayah provinsi.
- Dalam kedudukannya sebagaimana dimaksud pada ayat (1) gubernur bertanggung jawab kepada Presiden.
- Gubernur dilantik oleh Presiden.
- Dalam hal Presiden berhalangan melantik gubernur, Menteri Dalam Negeri atas nama Presiden melantik gubernur.
3. Tugas
Berdasarkan Peraturan Pemerintah Republik Indonesia No. 19 Tahun 2010 menjelaskan bahwa Tata Cara Pelaksanaan Tugas Dan Wewenang Serta Kedudukan Keuangan Gubernur Sebagai Wakil Pemerintah Di Wilayah Provinsi BAB II Pasal 2 sebagai berikut :
a. Gubernur sebagai wakil Pemerintah memiliki tugas melaksanakan urusan pemerintahan meliputi:
- Koordinasi penyelenggaraan pemerintahan antara pemerintah daerah
provinsi dengan instansi vertikal, dan antarinstansi vertikal di wilayah provinsi yang bersangkutan;
- Koordinasi penyelenggaraan pemerintahan antara pemerintah daerah provinsi dengan pemerintah daerah kabupaten/kota di wilayah provinsi yang bersangkutan;
- Koordinasi penyelenggaraan pemerintahan antarpemerintahan daerah kabupaten/kota di wilayah provinsi yang bersangkutan;
- Pembinaan dan pengawasan penyelenggaraan pemerintahan daerah kabupaten/kota;
- Menjaga kehidupan berbangsa dan bernegara serta memelihara keutuhan Negara Kesatuan Republik Indonesia;
- Menjaga dan mengamalkan ideologi Pancasila dan kehidupan demokrasi;
- Memelihara stabilitas politik;
- Menjaga etika dan norma penyelenggaraan pemerintahan di daerah; dan - Koordinasi pembinaan dan pengawasan penyelenggaraan tugas
pembantuan di daerah provinsi dan kabupaten/kota.
b. Selain melaksanakan urusan pemerintahan sebagaimana dimaksud pada ayat (1), gubernur sebagai wakil Pemerintah juga melaksanakan urusan pemerintahan di wilayah provinsi yang menjadi kewenangan Pemerintah sesuai dengan ketentuan peraturan perundang-undangan.
4. Wewenang
Dalam melaksanakan tugas sebagaimana dimaksud dalam Pasal 3 ayat (1), gubernur sebagai wakil Pemerintah memiliki wewenang meliputi:
- Mengundang rapat bupati/walikota beserta perangkat daerah dan pimpinan instansi vertikal;
- Meminta kepada bupati/walikota beserta perangkat daerah dan pimpinan instansi vertikal untuk segera menangani permasalahan penting dan/atau mendesak yang memerlukan penyelesaian cepat;
- Memberikan penghargaan atau sanksi kepada bupati/walikota terkait dengan kinerja, pelaksanaan kewajiban, dan pelanggaran sumpah/janji;
- Menetapkan sekretaris daerah kabupaten/kota sesuai dengan ketentuan peraturan perundang-undangan;
- Mengevaluasi rancangan peraturan daerah tentang Anggaran Pendapatan dan Belanja Daerah, pajak daerah, retribusi daerah, dan tata ruang wilayah kabupaten/kota;
- Memberikan persetujuan tertulis terhadap penyidikan anggota Dewan Perwakilan Rakyat Daerah kabupaten/kota;
- Menyelesaikan perselisihan dalam penyelenggaraaan fungsi pemerintahan antarkabupaten/kota dalam satu provinsi; dan
- Melantik kepala instansi vertikal dari kementerian dan lembaga pemerintah nonkementerian yang ditugaskan di wilayah provinsi yang bersangkutan.
(Berdasarkan Peraturan Pemerintah Republik Indonesia No. 19 Tahun 2010) II.2. Java
Versi pertama bahasa pemrograman Java dirilis pada akhir 1995, dan dalam beberapa bulan Java menjadi bahasa pemrograman pada World Wide Web.
Beberapa tahun kemudian merupakan salah satu bahasa pemrograman serbaguna
yang pernah dikembangkan dan banyak digunakan. Java memiliki beberapa keunggulan bila dibandingkan dengan bahasa pemrograman lainnya. Diantaranya:
1. Java bersifat lebih sederhana dan relatif mudah Java dimodelkan sebagian dari bahasa C++, namun dengan memperbaik beberapa karakteristik C++, seperti mengurangi kompleksitas beberapa fitur, penambahan fungsionalitas, serta penghilangan beberapa aspek pemicu ketidakstabilan sistem pada C++.
2. Java berorientasi objek Java adalah bahasa pemrograman berorientasi objek (OOP), yang dimaksud dengan pemrograman berorientasi objek adalah suatu konsep pemrograman yang memecahkan masalah dengan cara memilah program menjadi objek–objek yang saling berinteraksi satu sama lain.
3. Java bersifat multiplatform Dapat diterjemahkan oleh Java interpreter pada berbagai sistem operasi.
4. Java bersifat multithread Thread adalah proses yang dapat dikerjakan oleh program dalam suatu waktu. Ini berarti Java dapat mengerjakan beberapa proses dalam waktu yang hampir bersamaan.
Program Java dapat dibedakan menjadi dua jenis, yaitu applet dan aplikasi.
Applet, adalah program yang dibuat dengan Java, dapat diletakkan pada web server dan diakses melalui web browser. Dalam hal ini browser yang digunakan adalah yang memiliki kemampuan Java (misalnya Netscape Navigator, Internet Explorer, dan Hot Java). Aplikasi, adalah program yang dibuat dengan Java yang bersifat umum. Aplikasi dapat dijalankan secara langsung, tidak perlu perangkat
lunak browser untuk menjalankannya. Aplikasi dapat dibayangkan seperti program yang ditulis dengan bahasa C. (Chalid, Ibnu Rachman. 2009)
II.3. Java Development Kit (JDK)
Adalah sebuah produk yang dikembangkan oleh Oracle yang ditujukan untuk para developer Java. Seja Java diperkenalkan, JDK merupakan Java Software Development Kit (SDK) yang paling sering digunakan, Pada tangga 17 November 2006, Sun mengatakan akan merilis JDK sebagai Open Source menggunakan lisensi GNU General Public License (GPL), artinya software ini sekarang menjadi free software. Pada 8 Mei 2007, Sun mengontribusikan source code-nya ke OpenJDK. (P, Hernita. 2006)
II.4. Android
Pada tahun 2005, Google mengakuisisi Android Inc yang pada saat itu dimotori oleh Andy Rubin, Rich Miner, Nick Sears, dan Chris White. Yang kemudian pada tahun itu juga memulai membangun platform Android secara intensif. Kemudian pada tanggal 12 November 2007 Google bersama Open Handset Alliance , yaitu konsorium perangkat mobile terbuka, merilis Google Android SDK, setelah mengumumkannya seminggu sebelumnya dan mendapat sambutan yang luar biasa. Software SDK tersebut dapat digunakan untuk mengembangkan aplikasi pada perangkat mobile, yaitu: Sistem Operasi, Middleware, dan aplikasi utama untuk perangkat mobile.
Android adalah sistem operasi berbasis linux yang mencakup sistem operasi, middleware, dan aplikasi. Serta menyediakan platform terbuka bagi pengembang menciptakan aplikasi baru.
Hingga saat ini, terdapat beberapa versi dari sistem operasi Android, antara lain:
- Android Versi 1.1
- Android Versi 1.5 (Cupcake)
- Android Versi 1.6 (Donut)
- Android Versi 2.1 (Eclair)
- Android Versi 2.2 (Froyo: Frozen Yoghurt)
- Android Versi 2.3 (GingerBread)
- Android Versi 3.0 (HoneyComb)
- Android Versi 4.0 (Ice Cream Sandwich)
- Android Versi 4.1 (Jelly Bean)
(Hafsi, Al. 2013)
II.5. Android SDK
Android SDK adalah tools API (Application Programming Interface) yang diperlukan untuk mulai mengembangkan aplikasi pada platform android menggunakan bahasa pemrograman Java. Android SDK menyediakan tools dan API untuk pengembangan platform aplikasi android dengan menggunakan bahasa pemograman java. (Hafsi, Al. 2013)
II.6. Intellij IDEA
Intellij IDEA merupakan aplikasi pengembang terintegrasi yang paling baik untuk pengembangan aplikasi enterprise, mobile, dan web yang didukung oleh Java, Scala dan Groovy melalui teknologi modern paling mutakhir dan ketersediaan Framework-framework.
Intellij IDEA menawarkan framework pemrograman yang spesifik untuk membantu mempercepat proses pengembangan aplikasi seperti Java EE, Spring, GWT, Grails, Play dan framework lainnya yang disertakan dengan peralatan pendistribusian untuk berbagai server aplikasi.
Pengembangan aplikasi untuk platform mobile kini sangat mudah dengan fitur yang disediakan oleh Intellij IDEA untuk Android, Phonegap, Cordova dan Ionic. Intellij IDEA sudah disertakan berbagai tools terbaik seperti Maven, Gradle, dan STS; diintegrasikan langsung dengan Git, SVN, Mercurial; tersedia juga peralatan basis data. Pada pengembangan aplikasi web, Intellij IDEA telah menyediakan fitur untuk JavaScript, HTML, dan teknologi CSS seperti AngularJS, Node.js dan banyak lagi. (Diterjemahkan dari situs resmi IntellijIDEA, https://www.jetbrains.com/idea/ tersedia pada 18:17 12 Mei 2014) II.7. PHP
PHP atau Personal Home Page adalah bahasa pemrograman web atau scripting language yang didesain untuk web. PHP dibuat pertama kali oleh satu orang yaitu Rasmus Lerdorf, yang pada awalnya dibuat untuk menghitung jumlah pengunjung pada halaman webnya. Bahasa pemrograman PHP dapat digabungkan dengan HTML dengan terlebih dahulu memberikan tanda tag buka dilanjutkan
tanda tanya ( <? ) kemudian ditutup dengan tanda tanya dilanjutkan tanda tag tutup ( ?>). (Timbul Sholeh, Ahmad. 2013)
II.8. MySQL
MySQL adalah sistem manajemen database SQL yang bersifat Open Source dan paling populer saat ini. Sistem database MySQL mendukung beberapa fitur seperti multithreaded, multi-user, dan SQL database managemen system (DBMS). Database ini dibuat untuk keperluan sistem database yang cepat, handal dan mudah digunakan. (Achyarudin, Yazid. 2013).
II.9. UML (Unified Modelling Language)
Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C. Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana
bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering). Sejarah UML sendiri cukup panjang. Sampai era tahun 1990 seperti kita ketahui puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia. Diantaranya adalah:
metodologi booch, metodologi coad, metodologi OOSE, metodologi OMT, metodologi shlaer-mellor, metodologi wirfs-brock, dsb. Masa itu terkenal dengan masa perang metodologi (method war) dalam pendesainan berorientasi objek.
Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama dengan group/perusahaan lain yang menggunakan metodologi yang berlainan. Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang merupakan tiga tokoh yang boleh dikata metodologinya banyak digunakan mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek. Pada tahun 1995 direlease draft pertama dari UML (versi 0.8). Sejak tahun 1996 pengembangan tersebut dikoordinasikan oleh Object Management Group (OMG – http://www.omg.org).
Tahun 1997 UML versi 1.1 muncul, dan saat ini versi terbaru adalah versi 1.5 yang dirilis bulan Maret 2003. Booch, Rumbaugh dan Jacobson menyusun tiga buku serial tentang UML pada tahun 1999. Sejak saat itulah UML telah menjelma menjadi standar bahasa pemodelan untuk aplikasi berorientasi objek. (Yuni Sugiarti ; 2013 : 33)
Dalam pembuatan skripsi ini penulis menggunakan diagram Use Case yang terdapat di dalam UML. Adapun maksud dari Use Case Diagram diterangkan dibawah ini.
1. Use Case Diagram
Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan
“bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem. Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat di- include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri.
Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain. (Yuni Sugiarti ; 2013 : 41)
<<extend>>
Simbol Deskripsi
Usecase Fungsional yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor; biasanya dinyatakan dengan menggunakan kata kerja di awal frase namause case.
Aktor
nama actor
Orang, proses atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang; biasanya dinyatakan dengan menggunakan kata benda diawal frase nama aktor.
Assosiasi / Association Komunikasi antara aktor dan use case yang berpartisipasi pada use case atau use case memiliki interaksi dengan aktor.
Exetnd Relasi use case tambahan ke sebuah use case dimana use case yang ditambahkan dapat berdiri sendiri walau tanpa use case tambahan itu;
mirip dengan prinsip inheritance pada pemrograman berorientasi objek;
biasanya use case tambahan memiliki nama depan yang sama dengan use case yang ditambahkan, arah panah menunjuk pada use case yang dituju.
Contoh :
Include Relasi use case tambahan ke sebuah use case dimana use case yang ditambahkan memerlukan use case ini untuk menjalankan fungsi atau sebagai syarat dijalankan use case ini. Ada dua sudut pandang yang cukup besar mengenai include di use case, include berarti use case yang ditambahkan akan selalu dipanggil saat use case tambahan dijalankan, contoh :
Gambar II.1. Use Case Diagram Sumber : (Yuni Sugiarti ; 2013 ; 42) nama usecase
Update Data Dosen
Input Data Dosen
Update Data Dosen
Update Data Dosen
<<extend>>
<<include>>
2. Class Diagram
Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi. Berikut adalah simbol- simbol pada diagram kelas :
Simbol Deskripsi
Package Package merupakan sebuah bungkusan dari satu atau
lebih kelas
Operasi Kelas pada struktur sistem
Antarmuka/Interface Sama dengan konsep interface dalam pemrograman berorientasi objek
Asosiasi Relasi antar kelas dengan makna umum, asosiasi
biasanya juga disertai dengan multiplicity.
Asosiasi Berarah/directed
assosiasi
Relasi antar kelas dengan makna kelas yang satu digunakan oleh kelas yang lain, asosiasi biasanya juga disertai dengan multiplicity.
Generasi Relasi antar kelas dengan makna generalisasi-spesialisasi (umum – khusus)
Kebergantungan/Defedency Relasi antar kelas dengan makna kebergantungan antar kelas
Agregasi Relasi antar kelas dengan makna semua bagian (whole-
part)
Gambar II.2. Class Diagram Sumber : (Yuni Sugiarti ; 2013 : 59) Package
Nama Kela + Attribute 1 + Attribute 2 + Operation 1 ()
interface
1 1..
TPustaka +id +judul +jenis +jumlah +tahun +pengarang +setId() +getId() +setJudul() +getJudul() +setJenis() +getJenis() +setJumlah() +getJumlah() +setTahun() +getTahun() +setPengarang() +getPengarang()
TPeminjaman +id+tgl_peminjaman +id_anggota +id_pustaka +tgl_kembali +setId() +getId()
+setTglPeminjaman() +getTglPeminjaman() +setIdAnggota() +getIdAnggota() +setIdPustaka() +getIdPustaka() +setTglKembali() +getTglKembali() TAnggota +id+nama +alamat +telepon +setId() +getId() +setNama() +getNama() +setAlamat() +getAlamat() +setTelepon() +getTelepon() Login
+validasiLogin() +logout()
MengelolaAnggota +cariAnggotaByNama() +cariAnggotaById() +memasukkanAnggota() +mengubahAnggota() +menghapusAnggota()
MengelolaPeminjaman +memasukkanPeminjaman() +mencariPeminjaman() +ubahPeminjaman()
MengelolaPustaka +cariPustakaById() +cariPustakaByJudul() +cariPustakaByJenis() +cariPustakaByPengarang() +memasukkanPustaka() +ubahPustaka() +hapusPustaka()
KoneksiBasisData +host
+database +username +password +membukaKoneksi() +eksekusiQuerySelect() +eksekusiQueryUpdate() +tutupKoneksi()
1..*
1
1 1..*
1 1..*
1..*
1
1..*
1 Main
+main() +uiLogin() +uiMenu()
+uiMengelolaPustaka() +uiMengelolaAnggota() +uiMengelolaPeminjaman()
1
1 1
1
1 1
1..* 1
1..*1 1..*
1 1
1
1 1 1
1
Gambar II.3. Contoh Class Diagram Sumber : (Yuni Sugiarti ; 2013 : 63) 3. Sequence Diagram
Diagram Sequence menggambarkan kelakuan/prilaku objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan
diterima antar objek. Oleh karena itu untuk menggambarkan diagram sequence maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu.
Banyaknya diagram sequence yang harus digambar adalah sebanyak pendefinisian use case yang memiliki proses sendiri atau yang penting semua use case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada diagram sequence sehingga semakin banyak use case yang didefinisikan maka diagram sequence yang harus dibuat juga semakin banyak.
Gambar II.4. Contoh Sequence Diagram Sumber : (Yuni Sugiarti ; 2013 : 63)
Customer Login Screen Security Manager User
Login
Validate Validate User
Check Use Detail [User Detail]
4. Activity Diagram
Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.
Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.
Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih.
Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas.
Sama seperti state, standar UML menggunakan segiempat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses- proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal.
Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu.
[no coffee]
[no cola]
decision Find Beverage
Get Can of Cola
Drink Beverage Pour Coffee
Get Cups Add Water to
Reservoir Put Coffee In
Filter
Turn on Machine Put Filter In
Machine
Brew Coffee Start
End
Gambar II.5. Activity Diagram Sumber : (Yuni Sugiarti ; 2013 : 76)