• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI. Menurut website November 2006,

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI. Menurut website November 2006,"

Copied!
25
0
0

Teks penuh

(1)

LANDASAN TEORI

2.1 Permainan Matematika Sudoku 2.1.1 Sejarah Sudoku

Menurut website http://en.wikipedia.org/wiki/Sudoku November 2006, Sudoku, disebut juga sebagai Number Place atau permainan puzzle berdasarkan logika.

Permainan ini sudah dikenal di media mass sejak abad ke 19, ketika permainan

puzzleMagic Squares di Perancis ramai dibicarakan. Magic Squares sendiri berbeda dengan Sudoku, karena Sudoku terdiri dari 9 angka dan lebih membutuhkan kemampuan aritmatika daripada kemampuan logika untuk menyelesaikan permainan. Awalnya permainan sudoku hanya mengenal baris dan kolom saja tapi dalam perkembangannya ada yang namanya region.

Menurut Will Shortz, Sudoku modern kebanyakan di desain oleh Howard Garns, arsitek berumur 74 tahun dan sekaligus freelance konstruktor puzzle, dan pertama kali permainan Sudoku dipublikasikan tahun 1979 oleh majalah Dell sebagai Number Place. Kemudian ia meninggal pada tahun 1989 sebelum melakukan perubahan-perubahan Sudoku.

Puzzle tersebut diperkenalkan di Jepang oleh Nikoli dalam majalah bulanan Nikolist sekitar April 1984 sebagai ”As Suuji wa dokushin ni kagiru” yang dapat diterjemahkan sebagai ”Angka harus terjadi sekali”, dan akhirnya nama tersebut dinamakan menjadi Sudoku oleh Maki Kaji, nama tersebut didapatkan dari bahasa kanji.

(2)

Tahun 1997, sudah banyak ditemukan puzzle Sudoku dalam toko buku Jepang, dan dalam 6 tahun berikutnya Sudoku dikembangkan menjadi program komputer. Peningkatan permainan Sudoku semakin cepat diketahui umum melalui majalah-majalah dan koran dari berbagai dunia. Dan pada tahun 2005 untuk pertama kalinya Sudoku menjadi bagian dari acara TV berjudul Sudoku Show, Sudoku Live.

2.1.2 Pengertian Sudoku

Sudoku merupakan permainan puzzle angka dengan batasan angka 1 sampai dengan 9 dengan syarat-syarat tertentu.

Dalam permainan Sudoku, pemain diminta untuk mengisi NN2 kotak dengan angka (notasi : integer) dari 1 sampai N2. Aturan permainan setiap baris dan kolom terdiri dari 1 kemungkinan pilihan dari N2 integers. Dan juga untuk N2

memiliki N×N bujursangkar yang juga harus terdiri dari 1 kemungkinan dari N2 integers. Contoh pada gambar 2.1 adalah Sudoku dengan kotak N = 3.

Gambar 2.1. Contoh permasalahan Sudoku yang harus diselesaikan.

Penggunaan angka dalam Sudoku sering digunakan untuk kenyamanan, karena hubungan aritmatika menggunakan angka lebih mudah. Beberapa simbol lain dapat

(3)

digunakan juga misalnya; huruf, bentuk dan warna. Pada umumnya angka lebih sering digunakan dalam permainan ini dibandingkan yang lainnya.

Hal yang menarik dari permainan ini adalah peraturan yang mudah, tetapi untuk mendapatkan jawaban yang benar ternyata kompleks. Tingkat kesulitan pada permainan Sudoku dapat juga disesuaikan dengan kemampuan pemain. Untuk memainkan permainan ini bisa didapatkan di toko buku, atau melalui internet.

2.1.3 Cara Permainan

Permainan Sudoku secara umum terdiri dari tabel dengan kotak 9 x 9, yang dibuat dengan region 3 x 3. Untuk memulai permainan ini, beberapa kotak telah diisi dengan angka-angka yang menjadi petunjuk (clue). Tujuan akhir dari permainan ini adalah mengisi kotak-kotak yang masih kosong di mana setiap kotak diisi satu angka. Dalam setiap baris, kolom, dan region diisi dengan angka 1 (satu) sampai dengan 9 (sembilan) dengan kemungkinan hanya sekali. Setiap angka dalam solusi ini terjadi hanya sekali dalam 3 kondisi (baris, kolom dan region). Berikut contoh penyelesaian permainan pada gambar 2.2.

Gambar 2.2. Hasil jawaban yang benar permainan Sudoku

(4)

2.1.4 Jenis-jenis Sudoku

Dalam perkembangannya permainan Sudoku tidak hanya dimainkan menggunakan angka saja, tetapi juga menggunakan huruf dan gambar. Dan untuk alas permainannya dapat dimainkan dalam beraneka ragam ukuran, dan untuk region

dapat divariasikan dengan bentuk yang bermacam-macam. Tetapi dalam penulisan skripsi ini hanya akan dibahas Sudoku 9 x 9 dengan region berbentuk bujur sangkar. Contoh variasi pada sudoku :

- Alas permainan kotak 4 x 4 dengan region 2 x 2.

- Alas permainan kotak 5 x 5 dengan region berupa pentomino - Alas permainan kotak 6 x 6 dengan region 2 x 3

- Alas permainan kotak 7 x 7 dengan region berupa heptomino

- Alas permainan kotak 9 x 9 dengan region berupa nonomino seperti pada gambar 2.3.

- Alas permainan kotak 16 x 16 dengan regionhexudoku

Sumber : http://en.wikipedia.org/wiki/Sudoku Gambar 2.3 Contoh Sudoku 9 x 9 dengan region berupa nonomino

2.2 Graf Bipartite ( Bipartite Graph ) 2.2.1 Graf Bipartite

Menurut Johnsonbaugh (1997,p8), Graf bipartite adalah sebuah Graf G(V,E) terdiri dari dua bagian (dwi pihak) jika himpunan verteks V dapat dibagi menjadi

(5)

dua subhimpunan V1 dan V2 sehingga setiap rusuk (edge) dalam E insiden pada satu verteks di V1 dan satu verteks pada V2 .

Gambar 2.4 adalah contoh graf bipartite. Misalkan V1 = {v1,v2,v3} dan V2 = {v4,v5} maka didapatkan setiap rusuk insiden pada satu verteks dalam V1 dan satu verteks dalam V2.

Gambar 2. 4 Sebuah graf bipartite

(Johnsonbaugh, 1997,p8)

Perhatikan bahwa pengertian graf di atas menyatakan bahwa jika eadalah sebuah rusuk dalam sebuah graf bipartite, maka e insiden pada satu verteks dalam V1 dan satu verteks dalam V2. Definisi itu menyatakan bahwa jika v1 adalah sebuah verteks di V1 dan v2 adalah sebuah verteks di V2, maka terdapat sebuah rusuk di antara v1 dan v2. Sebagai contoh, graf pada gambar 2.4 adalah bipartite karena masing-masing rusuk insiden pada satu verteks di V1 = {v1,v2,v3} dan satu verteks di V2 = {v4,v5}. Akan tetapi , tidak semua rusuk di antara verteks V1 dan V2 berada dalam graf. Contohnya rusuk (v1,v5) tidak ada.

(6)

2.2.2 Graf Bipartite Lengkap

Graf bipartite lengkap pada m dan n verteks, dinyatakan dengan Km,n adalah graf sederhana yang himpunan verteksnya dibagi menjadi himpunan V1 dengan m verteks dan V2 dengan n verteks di mana terdapat sebuah rusuk di antara setiap pasangan verteks v1 dan v2 dengan v1 berada di V1 dan v2 berada di V2.

Gambar 2.5 adalah Graf bipartite lengkap pada dua dan empat verteks, K2,4.

Gambar 2.5 Graf bipartite lengkap K2,4

(Johnsonbaugh, 1997,p8)

2.3 Jaringan (Network)

Menurut Thomas.H et all (2001, p643) Network Flow dapat dideskripsikan sebagai graf berarah pada peta perjalanan yang digunakan untuk mencari path terpendek dari satu titik ke titik lainnya.

Menurut Robert Sedgewick (2002, p354), Contoh ilustrasi dari permasalahan model network flow, algoritma dan implementasinya terdiri dari banyak contoh seperti; Permasalahan distribusi, permasalahan pemasangan, dan permasalah pemotongan.

Dalam skripsi ini akan dibahas lebih spesifik tentang permasalahan pemasangan dalam jaringan untuk mencari kemungkinan jalan yang mungkin untuk menghubungkan pasangan vertek. Tujuan akhir dari permasalahan adalah untuk memilih hubungan

(7)

sepasang vertek di mana vertek tidak boleh digunakan dua kali. Misalnya memasangkan murid dengan sekolah, pelamar dengan pekerjaan, pelajaran dengan jam sekolah, dan lain lain.

2.3.1 Permasalahan Pemasangan

Menurut Johnsonbaugh (1997,p174), Dalam teorema pemasangan berikut akan dijelaskan pemasalahan unsur-unsur dalam satu himpunan dengan unsur-unsur di himpunan lain. Permasalahan ini dapat diturunkan pada pencarian sebuah aliran maksimal dalam suatu jaringan.

Misalkan terdapat empat orang A, B, C, D melamar lima pekerjaan J1, J2 , J3 , J4 , dan J5. Andaikan pelamar A cocok untuk pekerjaan J2 dan J5 ; Pelamar B cocok untuk pekerjaan J2 dan J5. Pelamar C cocok untuk pekerjaan J1, J3 , J4,dan J5; serta pelamar D cocok untuk pekerjaan J2 dan J5. Adakah kemungkinan untuk mendapatkan sebuah pekerjaan bagi masing-masing pelamar ?

Situasi tersebut dapat dimodelkan dengan graf pada gambar 2.6. Verteks-verteks mewakili pelamar dan pekerjaan. Sebuah rusuk menghubungkan sebuah pelamar dengan sebuah pekerjaan yang cocok. Kita bisa menunjukkan bahwa tidak mungkin memasangkan sebuah pekerjaan pada masing-masing pelamar dengan memperhatikan pelamar A, B, dan D yang cocok dengan pekerjaan J2 dan J5. Jika A dan B mendapatkan sebuah pekerjaan , maka tidak ada pekerjaan tersisa untuk D. Oleh karena itu, tidak ada penempatan A, B, C, dan D.

Pada contoh di atas sebuah pemasangan terdiri dari pencarian pekerjaan untuk orang-orang dengan keahlian tertentu. Sebuah pemasangan masksimal mencarikan pekerjaan untuk setiap orang. Kita telah melihat bahwa graf pada gambar 2.6 tidak mempunyai pemasangan lengkap.

(8)

Gambar 2.6 Pelamar (A,B,C,D) dan pekerjaan (J1, J2 , J3 , J4 , dan J5). Sebuah rusuk menghubungkan seorang pelamar dengan

sebuah pekerjaan yang cocok. Garis tebal menunjukkan pemasangan maksimal (yakni, jumlah maksimum pelamar

mendapatkan pekerjaan) (Johnsonbaugh, 1997,p175)

a. Jenis Pemasangan

Misalkan G adalah sebuah graf bipartite terarah dengan himpunan verteks saling lepas V dan W yang disini rusuk-rusuk terarah dari verteks-verteks di V ke verteks-verteks-verteks-verteks di W. (Vertek sembarang di G dapat di V atau pun di W.)

o Pemasangan untuk G adalah sebuah himpunan rusuk E dengan tidak ada verteks yang sama.

o Pemasangan maksimal untuk G adalah sebuah pemasangan E di mana E mengandung jumlah rusuk maksimum.

o Pemasangan lengkap untuk G adalah pemasangan E yang mempunyai sifat jika vV, maka (v,w)∈E untuk suatu wW .

(9)

Sebagai contoh pada pemasangan seperti di gambar 2.7, yang ditunjukkan dengan garis-garis tebal, merupakan pemasangan maksimal dan pemasangan lengkap.

Gambar 2.7 Garis-garis tebal menunjukkan sebuah pemasangan maksimal (jumlah rusuk maksimm yang digunakan) dan pemasangan

lengkap (masing-masing dari A, B ,C terpasang).

(Johnsonbaugh, 1997,p175)

Pada contoh selanjutnya, akan diilustrasikan bagaimana masalah pemasangan dapat dimodelkan sebagai sebuah masalah jaringan.

b. Sebuah Jaringan Pemasangan

Modelkan masalah pemasangan pada contoh sebelumnya sebagai sebuah jaringan.

Pertama-tama kita tandai setiap rusuk dalam graf pada gambar 2.6 kapasitas 1 (Lihat gambar 2.8). Selanjutnya ditambahkan sebuah sumbernya a dan rusuk-rusuk kapasitas 1 dari a ke masing-masing dari A, B, C, D. Akhirnya kita tampilkan sebuah tujuan raya z dan rusuk-rusuk berkapasitas 1 dari

(10)

masing-masing J1, J2, J3, J4, dan J5 ke z. Kita sebut jaringan seperti pada Gambar 2.8 sebuah jaringan pemasangan (matching network).

Gambar 2.8 Masalah pemasangan (gambar 2.5) sebagai jaringan pemasangan. (Johnsonbaugh, 1997,p176)

2.3.2 Aliran Jaringan (Flow Network)

Menurut Johnsonbaugh (1997,p155) Aliran (Flow) dalam sebuah jaringan menempatkan sebuah aliran dalam setiap rusuk terarah yang tidak melampaui kapasitas rusuk itu.

Contoh Flow Network diambil dari buku Robert Sedgewick (2002, pp359-360),

Di dalam jaringan terdapat single source dan single sink. Kapasitas minyak yang masuk sama dengan kapasitas minyak yang keluar. Jika begitu maka tidak ada masalah yang terjadi. Dengan

(11)

mudah setiap pipa memiliki kapasitas penuh. Jika sebaliknya, semua pipa penuh tetapi aliran minyak melalui jaringan dikontrol oleh switch dalam perjalanannya, seperti jumlah minyak melalui jalan sama dengan jumlah aliran yang keluar dari sumber. Pertanyaannya, bagaimana pengaturan switch agar jumlah minyak yang mengalir dari source ke sink menjadi maksimal? Untuk lebih jelas lihat gambar 2.9.

Permasalahan tersebut dapat dimodelkan dalam jaringan (graf berarah yang mempunyai ukuran) dengan single source dan single sink. Rusuk dari jaringan merupakan pipa minyak, verteks menghubungkan jalan dengan switch yang mengontrol bagaimana minyak masuk dan keluar dari setiap rusuk, dan ukuran minyak yang lewat dari setiap rusuk disesuaikan dengan kapasitas pipa.

Kita menganggap bahwa rusuk berarah dan minyak dapat mengalir secara satu arah dari setiap pipa. Setiap pipa memiliki ukuran yang pasti dari aliran, di mana kurang atau sama dari kapasitas verteknya, dan setiap vertek memberikan kondisi bahwa aliran yang masuk sama dengan aliran yang keluar.

2.3.3 Augmenting Path pada Algoritma Max Flow

Proses cara mengatasi permasalahan Max Flow dikembangkan oleh L.R. Ford dan D.R. Fulkerson pada tahun 1926. Metode umum yang dihasilkan adalah proses peningkatkan aliran terus-menerus sepanjang path-path yang ada dari source menuju sink. Metode yang dihasilkan ini lebih dikenal sebagai Ford Fulkerson.

Gambar 2.10 menunjukkan beberapa perbedaan alur augmenting path yang dapat memberikan max flow dalam network sederhana. Dalam contoh berikut,

(12)

pencarian augmenting path dilakukan terus-menerus pada network sampai tidak ditemukan lagi augmenting path.

Gambar 2.10 Gambar Augmenting path (Robert Sedgewick, 2002, p377)

Dari gambar di atas ada beberapa kemungkinan flow seperti berikut.

• 0-1-3-5 dengan kapasitas flow yang dibawa 2.

• 0-2-4-5 dengan kapasitas flow yang dibawa 1.

• 0-2-3-1-4-5 dengan kapasitas flow yang dibawa 1.

Jadi dari 3 kemungkinan di atas diketahui Max Flow adalah path 0-1-3-5.

Gambar 2.11 Gambar Flow Network (Robert Sedgewick, 2002, p372)

(13)

2.3.4 Algoritma Bipartite Matching

Algoritma yang digunakan dalam permasalahan Bipartite Matching yaitu Algoritma Max Flow dan secara khusus dikenal dengan nama Algoritma Ford Fulkerson. Algoritma Ford Fulkerson umumnya digunakan untuk menyelesaikan permasalahan max flow.

Algoritma atau metode Ford Fulkerson merupakan perulangan. Aliran nilai pertama f(u,v)=0 untuk semua u,vV . Setiap sekali iterasi, nilai aliran ditingkatkan dengan menemukan augmenting path, di mana kita dapat memikirkan dengan mudah path dari source s ke tujuan t seterusnya di mana kita dapat mengirim terus aliran dan kemudian augmenting aliran melalui path. Kita ulangi proses ini sampai tidak ada augmenting path yang ditemukan. Teorema

Max flow akan menunjukkan bahwa ketika terminate, proses ini memberikan aliran maksimum.

Algoritma Ford Fulkerson (G,s,t) 1 initialize flow f to 0

2 while there exists an augmenting path p 3 do augmenting flow f along p 4 return f

Menurut Thomas H. et al(2001, p664), Dalam suatu permasalahan ditemukan pemasangan maksimal dalam graf bipartite dapat menggunakan metode Ford Fulkerson. Selain itu dapat juga dilihat bahwa metode Ford

Fulkerson digunakan untuk menyelesaikan permasalahan maximum bipartite

(14)

a. Permasalahan maksimum bipartite matching

Diberikan graf tak berarah G=(V,E), matching memiliki anggota rusuk - rusuk ME. Misalnya untuk semua verteks vV, paling tidak ada rusuk anggota M yang insiden terhadap v. Dikatakan bahwa verteks vV terpasang dengan matching M jika beberapa rusuk anggota M insiden terhadap v, jika tidak insiden maka v tidak terpasang. Pemasangan maksimum berarti bahwa pemasangan M terhubung untuk beberapa pemasangan M’, dinotasikan sebagai

| | |

|MM′ .

Dalam bahasan ini, permasalahan dibatasi untuk menemukan pemasangan maksimal dalam graf bipartite. Diketahui bahwa set verteks dapat dibagi menjadi

R L

V = ∪ , di mana L dan R adalah tidak saling berhubungan dan semua rusuk(edge) dalam E terletak antara L dan R. Lebih jauh dikatakan bahwa setiap verteks dalam V mempunyai paling tidak satu rusuk yang insiden. Gambar 2.8 menggambarkan notasi pemasangan.

Gambar 2.12. Graf bipartiteG=(V,E)dengan sebagian verteks V =LR. (a) Pemasangan dengan 2 anggota maksimum (b) Pemasangan maksimal dengan 3 anggota maksimum.

(15)

Permasalahan dalam menemukan pemasangan maksimal dalam graf

bipartite mempunyai beberapa contoh aplikasi praktis. Sebagai contoh, kita dapat menganggap pemasangan perangkat L dari mesin dengan perangkat R dari tugas untuk bekerja secara bersamaan. Adanya rusuk (u,v) dalam E yang berarti bahwa mesin uL dapat mengerjakan beberapa tugas vR. Pemasangan maksimum menyediakan kerja bagi banyak mesin.

b. Menemukan pemasangan maksimal dalam kasus bipartite

Kita dapat menggunakan metode Ford Fulkerson untuk menemukan pemasangan maksimal dalam graf bipartite tak berarah G=(V,E) dengan time polynomial dalam |V |dan |E|. Triknya untuk menyusun aliran jaringan di mana aliran dihubungkan dengan pemasangan, seperti yang ditunjukkan pada gambar 2.13. Hubungan aliran jaringan G′=(V′,E′)untuk graf bipartite G dideskripsikan sebagai berikut; dua verteks ditambahkan di luar V sebagai sumber s dan tujuan t, dan V'=V

{ }

s,t . Jika sebagian verteks dari G adalah

R L

V = ∪ , rusuk berarah dalam G′adalah rusuk dalam E, langsung dari L menuju R, selama |V | merupakan verteks baru :

( )

{

s u u L

}

E′= , : ∈

( )

( )

{

u v uL vR danu vE

}

∪ , : , , ,

( )

{

v t uR

}

∪ , :

Untuk melengkapi konstruksi, kita menyatakan unit kapasitas untuk setiap rusuk dalam E’. Sejak setiap verteks dalam V mempunyai paling tidak satu rusuk

(16)

yang insiden, |E|≥|V |/2. Kemudian |E|≤|E′| = |E|+|V |≤3|E|, dan juga |

|E = )Θ(E

Gambar 2.13 Aliran jaringan berhubungan dengan graf bipartite. (a) Graf bipartite G=(V,E) dengan sebagian verteks V = LR dari gambar 2.8. Pemasangan maksimum dperlihatkan dengan rusuk yang tebal. (b) Hubungan aliran jaringan G′dengan aliran maksimal ditunjukkan. Rusuk tebal dari L menuju R berhubungan dengan pemasangan

maksimum dalam graf bipartite. (Thomas H, 2001, p666)

Lemma berikut menunjukan pemasangan dalam G secara langsung dengan

aliran dalam aliran G berhubungan dengan aliran jaringan G’. Dapat dikatakan bahwa aliran f dalam aliran jaringan G =(V,E)adalah bernilai integer jika f(u,v) adalah integer untuk semua(u,v)∈V×V .

Sebagai penjelasan dari teori di atas, berikut contoh implementasi berdasarkan Sedgewick,Robert (2001,pp420-421). Pada gambar 2.14 diketahui permasalahan

bipartite matching mempunyai anggota dari satu set dengan set lainnya. Di dalam graf bipartite tersebut terdapat rusuk yang saling menghubungkan setiap set. Source merupakan node baru yang menghubungkan ke banyak set pertama di

(17)

bawahnya, dan Sink merupakan node baru yang dihubungkan dari banyak set kedua di atasnya seperti pada gambar 2.15.

Gambar 2.14 Gambar contoh Bipartite Matching

(Sedgewick, 2001, p421)

Gambar 2.15 Gambar contoh Bipartite Matching dengan source dan sink

(Sedgewick, 2001, p421)

Dari permasalahan di atas, untuk mencari pemasangan maksimal digunakan metode Ford Fulkerson. Perulangan berlaku untuk mencari path-path yang mungkin, dan augmenting path dijalankan ketika ada node yang dikunjungi dua kali. Perulangan berlaku sampai ditemukan pemasangan maksimal. Dari

(18)

permasalah di atas, didapatkan beberapa pemasangan maksimum diantaranya seperti pada gambar 2.16 dan gambar 2.17.

Gambar 2.16 Gambar Solusi 1 soal BipartiteMatching

(19)

2.4 Konsep Dasar Rekayasa Piranti Lunak 2.4.1Pengertian Rekayasa Piranti Lunak

Pengertian rekayasa piranti lunak pertama kali diperkenalkan oleh Fritz Bauer sebagai penetapan dan penggunaan prinsip-prinsip rekayasa dalam usaha mendapatkan piranti lunak yang ekonomis, yaitu piranti lunak yang terpercaya dan bekerja secara efisien pada mesin atau komputer (Pressman, 1992, p19). 2.4.2Paradigma Rekayasa Piranti Lunak

Terdapat lima paradigma (model proses) dalam merekayasa suatu piranti lunak, yaitu The Classic Life Cycle atau sering juga disebut Waterfall Model,

Prototyping Model, Fourth Generation Techniques (4 GT), Spiral Model, dan

Combine Model. Pada penulisan skripsi ini dipakai model Waterfall Model. Menurut Pressman (1992, p20-21), ada enam tahap dalam Waterfall Model, seperti pada gambar berikut:

Gambar 2.18 Model Waterfall

Analysis Design Coding and Development Testing Maintenance System Engineering

(20)

a. Rekayasa sistem (System Engineering)

Aktivitas ini dimulai dengan penetapan kebutuhan dari semua elemen sistem. Gambaran sistem ini penting jika perangkat lunak harus berinteraksi dengan elemen-elemen lain, seperti hardware, manusia dan

database.

b. Analisis kebutuhan perangkat lunak (Software Requirement Analysis) Yang dilakukan pada tahap ini adalah untuk mengetahui kebutuhan piranti lunak, sumber informasi piranti lunak, fungsi-fungsi yang dibutuhkan, kemampuan piranti lunak dan antarmuka piranti lunak tersebut.

c. Perancangan (Design)

Tahap ini menitikberatkan pada empat atribut program, yaitu struktur data, arsitektur piranti lunak, rincian prosedur dan karakter antarmuka. Tahap ini pula menerjemahkan kebutuhan ke dalam sebuah representasi perangkat lunak yang dapat dinilai kualitasnya sebelum dilakukan pengkodean.

d. Pengkodean (Coding)

Tahap pengkodean yang dilakukan adalah memindahkan hasil perancangan menjadi suatu bentuk yang dapat dimengerti oleh mesin, yaitu dengan membuat program.

(21)

e. Pengujian (Testing)

Tujuan dari tahap pengujian adalah agar output yang dihasilkan oleh program sesuai dengan yang diharapkan. Pengujian dilakukan secara menyeluruh hingga semua elemen, perintah dan fungsi dapat berjalan sebagaimana mestinya.

f. Pemeliharaan (Maintenance)

Tahap pemeliharaan dilakukan dengan tujuan mengantisipasi kebutuhan pemakai terhadap fungsi-fungsi baru yang dapat timbul sebagai akibat munculnya sistem operasi baru, teknologi baru dan hardware baru.

2.5 Program Pendukung yang dipakai 2.5.1 J2ME (Java 2 Mobile Edition)

Menurut Tri Mardiono (2006,p9), Teknologi mobile merupakan trend teknologi TI yang sudah mulai matang. Vendor-vendor raksasa sudah mengembangkan teknologi ini. Vendor-vendor itu antara lain : Microsoft, Sun, IBM, Oracle, dan sebagainya. Salah satu teknologi mobile yang populer adalah teknologi Java.

Konsep “Write once run everywhere” membuat banyak pengembang aplikasi

mobile mengadopsi Java. Sun Java menyusun bingkai kerja pengembangan aplikasi

mobile ke dalam J2ME (Java 2 Mobile Edition). a. Keunggulan J2ME

Multiplatform

Aplikasi J2ME bisa berjalan di atas banyak platform yang di dalamnya terdapat

JVM(Java Virtual Machine). Beberapa platform yang tersedia installer mobile JVM antara lain : Windows CE, Symbian, embedded Linux, dan sebagainya.

(22)

Robust

Kode-kode Java adalah kode-kode yang robust, karena Virtual Marchine

mengatur keamanan proses eksekusi aplikasi.

• Terintegrasi dengan baik

J2ME bisa terhubung dengan back end J2EE server dan web service dengan mudah.

• Berorientasi objek

Memudahkan pengembangan sistem yang dikembangkan dengan metode analisa dan desain berorientasi objek.

b. Arsitektur J2ME

Sumber : http://grasia.fdi.ucm.es/j2me/images/j2meLayers.jpg

Gambar 2.19 Arsitektur J2ME

Dari gambar di atas kita bisa melihat bahwa J2ME memiliki dua konfigurasi virtual marchine. Dua konfigurasi tersebut adalah

(23)

- Connected Limited Device Configuration(CLDC)

CDCL bertujuan di desain untuk peranti mobile terkecil dengan memori 128-512 Kb, prosesor 16-32 bit. Profil dasar yang berjalan di atas CDLC adalah MIDP. Contoh device : mobile phone, PDA.

- Connected Device Configuration(CDC)

Konfigurasi high end yang membutuhkan memori minimum 2 Mb dan prosesor 32 bit. Profil dasar yang berjalan di atas CLC adalah foundation profile. Contoh

Device : Nokia communicator, Internet TV, Car TV.

2.5.2 MIDP (Mobile Information Device Profile)

Menurut Wicaksono(2002, p9) MIDP menyediakan librari-librari Java untuk implementasi antarmuka, implementasi jaringan, database, timer. MIDP dirancang khusus untuk piranti mobile yang memiliki kapasitas terbatas. MIDP menyediakan pustaka yang cukup lengkap. Versi terbaru dari profil MIDP adalah MIDP versi 2.0.

Paket-paket yang sudah tersedia pada MIDP 2.0

• Paket opsional untuk PDA

Mobile Media API

Wireless messaging API

Location API

J2ME service API

Bluetooth API

Security and trust API

(24)

2.5.3 IDE ( Integrated Development Environment ) dan Emulator

Menurut Tri Mardiono (2006,p19), Pengembangan aplikasi MIDP menjadi lebih mudah dengan tersedianya banyak IDE J2ME atau alat bantu pemrograman J2ME. Salah satu IDE J2ME adalah Netbeans dari SUN, Eclipse dari IBM, dan lain lain.

Emulator merupakan aplikasi pada PC yang digunakan untuk menjalankan

program dengan tampilan dan fungsionalitas seperti sebuah mobile phone.

2.5.4 MIDlet

Menurut Antonius Aditya Hartanto (2003, p13) MIDlet adalah aplikasi yang dibuat menggunakan J2ME dengan profile MIDP(Mobile information Device

Profile). MIDP dikhususkan untuk digunakan pada handset dengan kemampuan

CPU, memori, keyboard, dan layar terbatas misalnya pada mobile phone, PDA dan sebagainya.

Untuk menjalankan MIDlet tentunya diperlukan perangkat keras (device) yang mendukung Java artinya perangkat tersebut harus memiliki Java Virtual Machine

untuk menjalankan MIDlet. Sekarang tidak susah lagi untuk menemui perangkat yang bisa menjalankan MIDlet terutama untuk jenis mobile phone. Hampir setiap

mobile phone keluaran terbaru telah menyertakan dukungan akan teknologi Java.

2.5.5 Mobile Phone Nokia

Menurut Martin J. Wells, MobilePhone untuk merk dagang Nokia, memiliki bermacam-macam jenis dibagi-bagi berdasarkan serinya dapat dilihat di tabel berikut :

(25)

Tabel 2.1. Tabel Seri mobile phone Nokia

Seri Screen Type Input Use

Seri 30 96 x 65 Monochrome / color One – handed

Seri 40 128 x 128 Color One – handed

Seri 60 176 x 208 Color One – handed

Seri 80 640 x 200 Color Two – handed

Seri 90 640 x 320 Color Two – handed

Contoh Nokia Seri 30 terdapat pada mobile phone 3510i, Sedangkan contoh untuk Seri 40 pada mobile phone 3300. Contoh Seri 60 pada mobile phone 3600, 3650, 6600, 7650, 7610, N-Gage. Contoh Seri 80 pada mobile phone 9290, communicator. Contoh Seri 90 pada Mobile phone 7700.

Gambar

Gambar 2.5 adalah Graf bipartite lengkap pada dua dan empat verteks, K 2,4 .
Gambar 2.6 Pelamar (A,B,C,D) dan pekerjaan (J 1 , J 2  , J 3  , J 4  , dan J 5 ). Sebuah rusuk menghubungkan seorang pelamar dengan
Gambar 2.7 Garis-garis tebal menunjukkan sebuah pemasangan
Gambar 2.8 Masalah pemasangan (gambar 2.5) sebagai jaringan pemasangan.
+7

Referensi

Dokumen terkait

Hak Ulayat/Hak Wilayah Adat dan hak atas tanah sebagaimana dimaksud pada ayat (1) dan (2) diatur dalam peraturan perundang- undangan.. CONTOH 2:.

Menurut Undang-undang Nomor 22 tahun 2009 tentang kecelakaan lalu lintas dan angkutan jalan, disebutkan kecelakaan lalu lintas adalah suatu peristiwa di jalan yang tidak

Berdasarkan urutan peristiwa yang telah kamu catat, rangkailah menjadi sebuah ringkasan cerita yang runtut dengan menggunakan bahasa yang menarik!. Ceritakan kembali cerita

Saran hasil penelitian ini dapat dikemukakan sebagai berikut : (1) Biaya konsumsi sebaiknya perusahaan tidak memberikan atau menyediakan makanan atau minuman dalam

Setelah mengikuti materi ini, peserta pelatihan akan dapat: • memahami sikap mental yang diperlukan untuk menjadi. teknopreneur

Pihak Pertama dan Pihak kedua sepakat, bahwa dasar bentuk kerjasama ini, adalah suatu kerjasama yang berdasarkan kesepakatan lahirbatin, saling mufakat, untuk bekerja sama yang

Selain itu, pihak yang menyelenggarakan walimah juga mengeluarkan biaya banyak untuk menjamu para tamu, membeli barang- barang keperluan rumah tangga yang akan

Berangkat dari masalah yang dipaparkan di atas, peneliti merasa tertarik untuk mengetahui Hubungan Pelaksanaan Oral Hygiene dengan Kejadian Infeksi Rongga Mulut Pada