Kamis, 14 Juni 2012

Bioinformatika


LATAR BELAKANG SEJARAH

Penetrasi Teknologi Informasi (TI) dalam berbagai disiplin ilmu telah melipatgandakan perkembangan ilmu bersangkutan. Berbagai kajian baru bermunculan, sejalan dengan perkembangan TI itu sendiri dan disiplin ilmu yang didukungnya. Aplikasi TI dalam bidang biologi molekul telah melahirkan bidang Bioinformatika. Kajian ini semakin penting, sebab perkembangannya telah mendorong kemajuan bioteknologi di satu sisi, dan pada sisi lain memberi efek domino pada bidang kedokteran, farmasi, lingkungan dan lainnya.
Kajian baru Bioinformatika ini tak lepas dari perkembangan biologi molekul modern yang ditandai dengan kemampuan manusia untuk memahami genom, yaitu cetak biru informasi genetik yang menentukan sifat setiap makhluk hidup yang disandi dalam bentuk pita molekul DNA (asam deoksiribonukleat). Kemampuan untuk memahami dan memanipulasi kode genetik DNA ini sangat didukung oleh TI melalui perangkat perangkat keras maupun lunak. Hal ini bisa dilihat pada upaya Celera Genomics, perusahaan bioteknologi Amerika Serikat yang melakukan pembacaan sekuen genom manusia yang secara maksimal memanfaatkan TI sehingga bisa melakukan pekerjaannya dalam waktu yang singkat (hanya beberapa tahun), dibanding usaha konsorsium lembaga riset publik AS, Eropa, dan lain-lain, yang memakan waktu lebih dari 10 tahun.
Kelahiran Bioinformatika modern tak lepas dari perkembangan bioteknologi di era tahun 70-an, dimana seorang ilmuwan AS melakukan inovasi dalam mengembangkan teknologi DNA rekombinan. Berkat penemuan ini lahirlah perusahaan bioteknologi pertama di dunia, yaitu Genentech di AS, yang kemudian memproduksi protein hormone insulin dalam bakteri, yang dibutuhkan penderita diabetes. Selama ini insulin hanya bias didapatkan dalam jumlah sangat terbatas dari organ pankreas sapi.
Bioteknologi modern ditandai dengan kemampuan pada manipulasi DNA. Rantai/sekuen DNA yang mengkode protein disebut gen. Gen ditranskripsikan menjadi mRNA, kemudian mRNA ditranslasikan menjadi protein. Protein sebagai produk akhir bertugas menunjang seluruh proses kehidupan, antara lain sebagai katalis reaksi biokimia dalam tubuh (disebut enzim), berperan serta dalam sistem pertahanan tubuh melawan virus, parasit dan lain-lain (disebut antibodi), menyusun struktur tubuh dari ujung kaki (otot terbentuk dari protein actin, myosin, dan sebagainya) sampai ujung rambut (rambut tersusun dari protein keratin), dan lain-lain. Arus informasi, DNA -> RNA -> Protein, inilah yang disebut sentral dogma dalam biologi molekul.
Sekuen DNA satu organisme, yaitu pada sejenis virus yang memiliki kurang lebih 5.000 nukleotida/molekul DNA atau sekitar 11 gen, berhasil dibaca secara menyeluruh pada tahun 1977. Sekuen seluruh DNA manusia terdiri dari 3 milyar nukleotida yang menyusun 100.000 gen dapat dipetakan dalam waktu 3 tahun. Saat ini terdapat milyaran data nukleotida yang tersimpan dalam database DNA, GenBank di AS yang didirikan tahun 1982. Di Indonesia, ada Lembaga Biologi Molekul Eijkman yang terletak di Jakarta. Di sini kita bisa membaca sekuen sekitar 500 nukleotida hanya dengan membayar $15. Trend yang sama juga nampak pada database lain seperti database sekuen asam amino penyusun protein, database struktur 3D protein, dan sebagainya. Inovasi teknologi DNA chip yang dipelopori oleh perusahaan bioteknologi AS, Affymetrix di Silicon Valley telah mendorong munculnya database baru mengenai RNA.
Desakan kebutuhan untuk mengumpulkan, menyimpan dan menganalisa data-data biologis dari database DNA, RNA maupun protein inilah yang semakin memacu perkembangan kajian Bioinformatika.


CONTOH PENERAPAN DAN PENGGUNAAN

1. Bioinformatika dalam Bidang Klinis
Bioinformatika dalam bidang klinis sering disebut sebagai informatika klinis (clinical informatics). Aplikasi dari informatika klinis ini berbentuk manajemen data-data klinis dari pasien melalui Electrical Medical Record (EMR) yang dikembangkan oleh Clement J. McDonald dari Indiana University School of Medicine pada tahun 1972. McDonald pertama kali mengaplikasikan EMR pada 33 orang pasien penyakit gula (diabetes). Sekarang EMR ini telah diaplikasikan pada berbagai penyakit. Data yang disimpan meliputi data analisa diagnosa laboratorium, hasil konsultasi dan saran, foto rontgen, ukuran detak jantung, dan lain lain. Dengan data ini dokter akan bias menentukan obat yang sesuai dengan kondisi pasien tertentu dan lebih jauh lagi, dengan dibacanya genom manusia, akan memungkinkan untuk mengetahui penyakit genetic seseorang, sehingga penanganan terhadap pasien menjadi lebih akurat.

2. Bioinformatika untuk Identifikasi Agent Penyakit Baru
Bioinformatika juga menyediakan tool yang sangat penting untuk identifikasi agent penyakit yang belum dikenal penyebabnya. Banyak sekali penyakit baru yang muncul dalam dekade ini, dan diantaranya yang masih hangat adalah SARS (Severe Acute Respiratory Syndrome).
Pada awalnya, penyakit ini diperkirakan disebabkan oleh virus influenza karena gejalanya mirip dengan gejala pengidap influenza. Akan tetapi ternyata dugaan ini salah karena virus influenza tidak terisolasi dari pasien. Perkirakan lain penyakit ini disebabkan oleh bakteri Candida karena bakteri ini terisolasi dari beberapa pasien. Tapi perkiraan ini juga salah. Akhirnya ditemukan bahwa dari sebagian besar pasien SARS terisolasi virus Corona jika dilihat dari morfologinya. Sekuen genom virus ini kemudian dibaca dan dari hasil analisa dikonfirmasikan bahwa penyebab SARS adalah virus Corona yang telah berubah (mutasi) dari virus Corona yang ada selama ini.
Dalam rentetan proses ini, Bioinformatika memegang peranan penting. Pertama pada proses pembacaan genom virus Corona. Karena di database seperti GenBank, EMBL (European Molecular Biology Laboratory), dan DDBJ (DNA Data Bank of Japan) sudah tersedia data sekuen beberapa virus Corona, yang bisa digunakan untuk mendisain primer yang digunakan untuk amplifikasi DNA virus SARS ini. Software untuk mendisain primer juga tersedia, baik yang gratis maupun yang komersial. Contoh yang gratis adalah Webprimer yang disediakan oleh Stanford Genomic Resources
(http://genome-www2.stanford.edu/cgi-bin/SGD/web-primer), GeneWalker yang disediakan oleh Cybergene AB (http://www.cybergene.se/primerdisain/genewalker), dan lain sebagainya. Untuk yang komersial ada Primer Disainer yang dikembangkan oleh Scientific & Education Software, dan software-software untuk analisa DNA lainnya seperti Sequencher (GeneCodes Corp.), SeqMan II (DNA STAR Inc.), Genetyx (GENETYX Corp.), DNASIS (HITACHI Software), dan lain lain.
Kedua pada proses mencari kemiripan sekuen (homology alignment) virus yang didapatkan dengan virus lainnya. Dari hasil analisa virus SARS diketahui bahwa genom virus Corona penyebab SARS berbeda dengan virus Corona lainnya. Perbedaan ini diketahui dengan menggunakan homology alignment dari sekuen virus SARS. Selanjutnya, Bioinformatika juga berfungsi untuk analisa posisi sejauh mana suatu virus berbeda dengan virus lainnya.

3. Bioinformatika untuk Diagnosa Penyakit Baru
Untuk menangani penyakit baru diperlukan diagnosa yang akurat sehingga dapat dibedakan dengan penyakit lain. Diagnosa yang akurat ini sangat diperlukan untuk pemberian obat dan perawatan yang tepat bagi pasien.
Ada beberapa cara untuk mendiagnosa suatu penyakit, antara lain: isolasi agent penyebab penyakit tersebut dan analisa morfologinya, deteksi antibodi yang dihasilkan dari infeksi dengan teknik enzyme-linked immunosorbent assay (ELISA), dan deteksi gen dari agent pembawa penyakit tersebut dengan Polymerase Chain Reaction (PCR).
Teknik yang banyak dan lazim dipakai saat ini adalah teknik PCR. Teknik ini sederhana, praktis dan cepat. Yang penting dalam teknik PCR adalah disain primer untuk amplifikasi DNA, yang memerlukan data sekuen dari genom agent yang bersangkutan dan software seperti yang telah diuraikan di atas. Disinilah Bioinformatika memainkan peranannya. Untuk agent yang mempunyai genom RNA, harus dilakukan reverse transcription (proses sintesa DNA dari RNA) terlebih dahulu dengan menggunakan enzim reverse transcriptase. Setelah DNA diperoleh baru dilakukan PCR. Reverse transcription dan PCR ini bisa dilakukan sekaligus dan biasanya dinamakan RT-PCR.
Teknik PCR ini bersifat kualitatif, oleh sebab itu sejak beberapa tahun yang lalu dikembangkan teknik lain, yaitu Real Time PCR yang bersifat kuantitatif. Dari hasil Real Time PCR ini bisa ditentukan kuantitas suatu agent di dalam tubuh seseorang, sehingga bisa dievaluasi tingkat emergensinya. Pada Real Time PCR ini selain primer diperlukan probe yang harus didisain sesuai dengan sekuen agent yang bersangkutan. Di sini juga diperlukan software atau program Bioinformatika.

4. Bioinformatika untuk Penemuan Obat
Cara untuk menemukan obat biasanya dilakukan dengan menemukan zat/senyawa yang dapat menekan perkembangbiakan suatu agent penyebab penyakit. Karena perkembangbiakan agent tersebut dipengaruhi oleh banyak faktor, maka faktor-faktor inilah yang dijadikan target. Diantaranya adalah enzim-enzim yang diperlukan untuk perkembangbiakan suatu agent Mula-mula yang harus dilakukan adalah analisa struktur dan fungsi enzim-enzim tersebut. Kemudian mencari atau mensintesa zat/senyawa yang dapat menekan fungsi dari enzim-enzim tersebut.
Analisa struktur dan fungsi enzim ini dilakukan dengan cara mengganti asam amino tertentu dan menguji efeknya. Analisa penggantian asam amino ini dahulu dilakukan secara random sehingga memerlukan waktu yang lama. Setelah Bioinformatika berkembang, data-data protein yang sudah dianalisa bebas diakses oleh siapapun, baik data sekuen asam amino-nya seperti yang ada di SWISS-PROT (http://www.ebi.ac.uk/swissprot/) maupun struktur 3D-nya yang tersedia di Protein Data Bank (PDB) (http://www.rcsb.org/pdb/). Dengan database yang tersedia ini, enzim yang baru ditemukan dapat dibandingkan sekuen asam amino-nya, sehingga bisa diperkirakan asam amino yang berperan untuk aktivitas (active site) dan kestabilan enzim tersebut.
Setelah asam amino yang berperan sebagai active site dan kestabilan enzim tersebut ditemukan, kemudian dicari atau disintesa senyawa yang dapat berinteraksi dengan asam amino tersebut. Dengan data yang ada di PDB, maka dapat dilihat struktur 3D suatu enzim termasuk active site-nya, sehingga bisa diperkirakan bentuk senyawa yang akan berinteraksi dengan active site tersebut. Dengan demikian, kita cukup mensintesa senyawa yang diperkirakan akan berinteraksi, sehingga obat terhadap suatu penyakit akan jauh lebih cepat ditemukan. Cara ini dinamakan “docking” dan telah banyak digunakan oleh perusahaan farmasi untuk penemuan obat baru.
Meskipun dengan Bioinformatika ini dapat diperkirakan senyawa yang berinteraksi dan menekan fungsi suatu enzim, namun hasilnya harus dikonfirmasi dahulu melalui eksperimen di laboratorium. Akan tetapi dengan Bioinformatika, semua proses ini bisa dilakukan lebih cepat sehingga lebih efisien baik dari segi waktu maupun finansial.
Tahun 1997, Ian Wilmut dari Roslin Institute dan PPL Therapeutics Ltd, Edinburgh, Skotlandia, berhasil mengklon gen manusia yang menghasilkan faktor IX (faktor pembekuan darah), dan memasukkan ke kromosom biri-biri. Diharapkan biri-biri yang selnya mengandung gen manusia faktor IX akan menghasilkan susu yang mengandung faktor pembekuan darah. Jika berhasil diproduksi dalam jumlah banyak maka faktor IX yang diisolasi dari susu harganya bisa lebih murah untuk membantu para penderita hemofilia.


Referensi:
http://kambing.ui.ac.id/bebas/v06/Kuliah/SistemOperasi/2003/50/Bioinformatika.pdf

http://id.wikipedia.org/wiki/Bioinformatika

Minggu, 06 Mei 2012

Parallel Processing


Pada kesempatan ini saya akan membahas mengenai Komputasi dan Parallel Processing, serta hubungan diantara keduanya.
Komputasi sebetulnya bisa diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Hal ini ialah apa yang disebut dengan teori komputasi, suatu sub-bidang dari ilmu komputer dan matematika. Selama ribuan tahun, perhitungan dan komputasi umumnya dilakukan dengan menggunakan pena dan kertas, atau kapur dan batu tulis, atau dikerjakan secara mental, kadang-kadang dengan bantuan suatu tabel. Namun sekarang, kebanyakan komputasi telah dilakukan dengan menggunakan komputer.
Secara umum iIlmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan model matematika dan teknik penyelesaian numerik serta penggunaan komputer untuk menganalisis dan memecahkan masalah-masalah ilmu (sains). Dalam penggunaan praktis, biasanya berupa penerapan simulasi komputer atau berbagai bentuk komputasi lainnya untuk menyelesaikan masalah-masalah dalam berbagai bidang keilmuan, tetapi dalam perkembangannya digunakan juga untuk menemukan prinsip-prinsip baru yang mendasar dalam ilmu.
Bidang ini berbeda dengan ilmu komputer (computer science), yang mengkaji komputasi, komputer dan pemrosesan informasi. Bidang ini juga berbeda dengan teori dan percobaan sebagai bentuk tradisional dari ilmu dan kerja keilmuan. Dalam ilmu alam, pendekatan ilmu komputasi dapat memberikan berbagai pemahaman baru, melalui penerapan model-model matematika dalam program komputer berdasarkan landasan teori yang telah berkembang, untuk menyelesaikan masalah-masalah nyata dalam ilmu tersebut.

Parallel processing atau pemrosesan paralel memiliki pengertian yaitu penggunaan pada lebih dari satu CPU untuk menjalankan sebuah program secara simultan, atau penggunaan dua atau lebih tugas pada waktu yang sama dengan tujuan mempersingkat waktu penyelesaian tugas-tugas tersebut dengan cara mengoptimalkan resource pada sistem komputer yang ada pada tujuan yang sama. Maksudnya program dijalankan dengan banyak CPU secara bersamaan dengan tujuan untuk membuat program yang lebih baik dan dapat diproses dengan cepat. Dapat diambil kesimpulan bahwa pada parallel processing berbeda dengan istilah multitasking, yaitu satu CPU mengangani atau mengeksekusi beberapa program sekaligus, parallel processing dapat disebut juga dengan istilah parallel computing.

Pemrosesan paralel dapat mempersingkat waktu eksekusi suatu program dengan cara membagi suatu program menjadi bagian yang lebih kecil agar dapat dikerjakan pada masing-masing prosesor secara bersamaan. Performa dalam pemrosesan paralel diukur dari beberapa banyak peningkatan kecepatan yang diperoleh dalam menggunakan teknik paralel. Pada proses kerja pemrosesan paralel yaitu membagi beban kerja dan mendistribusikannya pada komputer-komputer lain yang terdapat dalam sistem untuk menyelesaikan masalah. Sistem yang akan dibangun tidak akan menggunakan komputer yang didedikasikan secara khusus untuk keperluan pemrosesan paralel melainkan menggunakan komputer yang telah ada. Maksudnya sistem ini akan terdiri dari sejumlah komputer dengan spesifikasi berbeda yang akan bekerja sama untuk menyelesaikan suatu masalah.

Kemampuan sistem paralel tergantung dari kemampuan pemrogram untuk membuat aplikasi terdistribusi ketika dijalankan pada sistem paralel. Jika node slave mempunyai prosessor lebih dari satu maka pemrogram harus memperhitungkan kemungkinan paralelisme 2 level : Paralelisme di dalam slvae node (intra-node parallelism) dan paralelisme antar slave node (inter-node parallelism). Inter-node parallelism menggunakan shared memory dalam node sehingga tidak melakukan pertukaran data secara explicit. Sedangkan inter-node parallelism melakukan pertukaran data lewat media yang menghubungkan antara node slave yang ada.

Komputasi paralel merupakan salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer juga secara bersamaan. Pada komputasi paralel dibutuhkan saat kapasitas yang diperlukan sangat besar untuk memproses komputasi yang banyak. Di samping itu pemakai harus membuat pemrograman paralel untuk dapat merealisasikan komputasi. Pemrograman paralel memiki tujuan utama yaitu untuk meningkatkan performa komputasi. Oleh karena itu semakin banyak hal yang bisa dilakukan secara bersamaan dalam waktu yang sama, semakin banyak pekerjaan yang bisa diselesaikan.

Sumber :
http://www.scribd.com/doc/40938360/Makalah-Arkom-Paralel-Processing
http://www.gudangmateri.com/2009/12/pemrosesan-paralel.html

Sabtu, 05 Mei 2012

Tugas Pemrograman Multimedia


Gambaran Umum Aplikasi
Aplikasi Perhitungan Rumus-Rumus Fisika ini merupakan aplikasi yang memuat 10 macam rumus dasar yang ada pada bidang Fisika, yaitu Beda Potensial, Energi Potensial, Gaya, Hambatan, Kecepatan, Kuat Arus, Momentum, Percepatan, Tekanan, dan Usaha. User diminta untuk memilih rumus yang ingin digunakan, kemudian memasukkan nilai-nilai yang telah diketahui, lalu lakukan perhitungannya. Aplikasi ini akan menampilkan hasil dari nilai-nilai yang dimasukkan sesuai dengan rumus yang digunakan. Aplikasi ini juga menampilkan simbol dari besaran Fisika yang digunakan beserta rumus perhitungannya. Pada aplikasi ini juga terdapat unsur-unsur multimedia, antara lain teks berupa kata dan kalimat yang menjelaskan isi aplikasi, gambar berupa background aplikasi, serta audio berupa suara yang disisipkan pada tiap tombol pada aplikasi, yang akan berbunyi apabila ditekan.
Dalam pembuatan aplikasi ini, pertama-tama penulis membuat rancangan antarmuka untuk aplikasi Rumus Fisika. Kemudian dilakukan pemilihan algoritma atau metode yang digunakan untuk membuat aplikasi Rumus Fisika ini. Berikutnya mulai dilakukan pembuatan program dengan menggunakan editor seperti Eclipse Galileo serta JDK. Setelah pembuatan program selesai, dilakukan pengujian program dengan menggunakan AVD (Android Virtual Device) yang berfungsi sebagai Android Emulator nya sampai program berhasil di kompile. Bila program berhasil di compile maka akan dilakukan package agar aplikasi Rumus Dasar Fisika ini dapat diimplementasikan kedalam handphone.


Struktur Navigasi

Gambar 3.1 Struktur Navigasi Rumus Fisika
Halaman pertama yang akan tampil adalah halaman layar Menu, yang merupakan halaman utama aplikasi. Pada halaman utama aplikasi terdapat 3 tombol pilihan yaitu Start, Tutorial, About, dan Quit. Start digunakan untuk memulai aplikasi, Tutorial digunakan untuk melihat petunjuk penggunaan aplikasi, About digunakan untuk melihat informasi tambahan mengenai aplikasi, dan Quit digunakan untuk keluar dari aplikasi. Pada halaman Tutorial dan About akan berisikan informasi berupa teks beserta tombol untuk kembali ke halaman utama.
Jika tombol Start dipilih maka akan masuk kedalam  halaman yang berisikan pilihan dari rumus Fisika yang ingin digunakan. Setelah memilih rumus yang ingin digunakan, akan masuk kedalam halaman perhitungan sesuai dengan rumus yang dipilih. User dapat memasukkan nilai-nilai sesuai dengan besaran Fisika yang diketahui dan kemudian melakukan perhitungannya. Selanjutnya aplikasi akan mengeluarkan nilai hasil dari operasi yang dilakukan. Jika ingin kembali untuk memilih rumus Fisikanya user dapat menekan tombol Kembali ke Menu.
 

Perancangan Antar Muka
Perancangan antar muka aplikasi ini terdiri dari perancangan halaman menu, perancangan halaman Rumus Fisika, perancangan halaman Tutorial, halaman About, dan perancangan perhitungan Rumus Dasar Fisika.
Perancangan Halaman Menu
Gambar 3.4 Rancangan Menu
Gambar 3.4 merupakan rancangan halaman menu aplikasi. Pada halaman ini terdapat 4 buah tombol yaitu tombol Start, Tutorial, About, dan Quit. Tombol Start digunakan untuk memulai aplikasi. Saat user memilih tombol Start, maka akan masuk ke menu 10 macam Rumus Fisika. Tombol Tutorial digunakan untuk melihat petunjuk penggunaan aplikasi ini. Tombol About digunakan untuk melihat informasi tambahan mengenai aplikasi. Sedangkan tombol Quit digunakan untuk keluar dari aplikasi.


Perancangan Halaman Tutorial
Gambar 3.5 Rancangan Halaman Tutorial
Halaman tutorial berisikan tentang petunjuk penggunaan dari aplikasi Rumus Dasar Fisika. Halaman ini menyediakan informasi petunjuk berupa teks yang dapat dilihat pada gambar 3.5. Halaman ini juga menyediakan tombol Back untuk kembali ke menu awal aplikasi.



Perancangan Halaman About
Gambar 3.6 Rancangan Halaman About
Halaman about berisikan tentang informasi tambahan mengenai aplikasi Rumus Dasar Fisika. Halaman ini menyediakan informasi tambahan berupa teks yang dapat dilihat pada gambar 3.6. Halaman ini juga menyediakan tombol Back untuk kembali ke menu awal aplikasi.


Perancangan Halaman Daftar Rumus Fisika







Gambar 3.7 Rancangan Halaman Daftar Rumus Fisika
Pada gambar 3.7 terdapat pilihan rumus Fisika yang ingin digunakan. Pengguna dapat memilih rumusnya sesuai dengan kebutuhan. Pada halaman ini terdapat 10 macam rumus Fisika yang dibuat menggunakan menu list disertai dengan ikon disampingnya, sehingga ke-10 rumus Fisika tersusun berurut dan berbentuk daftar pilihan. Halaman ini juga menyediakan pilihan Keluar yang digunakan untuk keluar dari menu daftar rumus Fisika dan kembali ke menu awal aplikasi.



Perancangan Halaman Perhitungan Energi Potensial
Gambar 3.9 Rancangan Halaman Perhitungan Rumus Energi Potensial
Halaman ini menyediakan 3 kolom isian sebagai tempat untuk menampung nilai yang dimasukkan oleh user, yaitu nilai Massa Benda, Hambatan, dan Tinggi Benda serta 1 kolom isian untuk menampilkan hasil operasinya yaitu nilai Energi Potensial. Halaman ini juga menyediakan 2 buah tombol, yaitu untuk melakukan perhitungan operasi rumusnya dan untuk kembali ke menu daftar pilihan rumus Fisika.
 
Pembuatan Kode Program

Layout center.xml



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_height="fill_parent"
   android:layout_width="fill_parent"
   android:padding="60dip"
   android:orientation="horizontal"
   android:background="@drawable/main"
  android:gravity="center_vertical">
   <LinearLayout
      android:orientation="vertical"
      android:layout_height="wrap_content"
      android:layout_width="fill_parent"
      android:layout_gravity="center">
      <Button
         android:id="@+id/button_start"
         android:layout_width="fill_parent"
       android:layout_height="wrap_content"
         android:text="Start" />
      <Button
         android:id="@+id/button_tutorial"
         android:layout_width="fill_parent"
       android:layout_height="wrap_content"
         android:text="Tutorial"/>
      <Button
         android:id="@+id/button_about"
         android:layout_width="fill_parent"
       android:layout_height="wrap_content"
         android:text="About"/>
      <Button
         android:id="@+id/button_quit"
         android:layout_width="fill_parent"
       android:layout_height="wrap_content"
         android:text="Quit" />
   </LinearLayout>
</LinearLayout>


Kode program diatas digunakan untuk membuat halaman awal aplikasi Perhitungan Rumus-Rumus Fisika. Halamannya diatur untuk menyesuaikan dengan ukuran layar pada aplikasi android. Pada halaman ini dibuat 4 macam tombol, yaitu tombol Start, tombol Tutorial, tombol About, dan tombol Exit.
Tombol pertama, yaitu tombol Start dibuat dengan menggunakan metode Button, lalu letaknya diatur agar menyesuaikan dengan lebar layar dengan menggunakan metode fill_parent. Posisi ketinggiannya diatur agar mengisi kekosongan yang masih ada pada jendela halaman aplikasi tersebut dengan menggunakan metode wrap_content. Penamaan tombol dibuat dengan menggunakan metode android:text.
Ketiga tombol lainnya, yaitu tombol Tutorial, About, dan Exit dibuat dengan cara yang sama dengan tombol Start, yaitu menggunakan metode Button. Posisi dari tombol-tombol tersebut juga disesuaikan dengan metode fill_parent untuk lebar dan wrap_content untuk ketinggiannya. Penamaan tombol-tombol tersebut juga dibuat dengan metode android:text.

Gambar 3.18 Tampilan Output Halaman Awal Aplikasi

Layout tutorial.xml

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:background="@drawable/background">
<ScrollView
    android:layout_width="fill_parent"
      android:layout_height="350px"
      android:layout_y="30px">

<AbsoluteLayout
android:id="@+id/widget0"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:id="@+id/txtView1"
android:layout_width="190px"
android:layout_height="wrap_content"
android:text="TUTORIAL"
android:textSize="28sp"
android:textStyle="bold"
android:layout_x="70px"
android:layout_y="10px"
></TextView>
<TextView
android:id="@+id/txtHasil"
android:layout_width="190px"
android:layout_height="wrap_content"
android:layout_x="30px"
android:layout_y="60px"
></TextView>
<Button
android:id="@+id/btnBack"
android:text="Back"
android:layout_gravity="center_horizontal"
android:layout_width="90px"
android:layout_height="wrap_content"
android:layout_marginTop="200px"
android:onClick="BackMainMenu"
android:layout_x="76px"
android:layout_y="180px"
></Button>
</AbsoluteLayout>
</ScrollView>
</AbsoluteLayout>

Kode program diatas digunakan untuk menampilkan halaman Tutorial. Perintah yang digunakan untuk menampilkan judul dari halaman Tutorial ini adalah android:text = “TUTORIAL”. Kemudian ditampilkan teks yang berisikan keterangan petunjuk yang sudah disimpan pada txtHasil. Keterangan teks tersebut dibuat pada kelas tutorial.java. Lalu pembuatan button Back dilakukan dengan fungsi Button, kemudian diatur agar ketika button Back diklik maka akan kembali ke halaman awal dengan menggunakan fungsi android:onClick = “BackMainMenu”.
Gambar 3.19 Tampilan Output Halaman Tutorial
 
Layout about.xml

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:background="@drawable/background">
<ScrollView
    android:layout_width="fill_parent"
      android:layout_height="350px"
      android:layout_y="30px">
<AbsoluteLayout
android:id="@+id/widget0"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:id="@+id/txtView1"
android:layout_width="190px"
android:layout_height="wrap_content"
android:text="ABOUT"
android:textSize="28sp"
android:textStyle="bold"
android:layout_x="84px"
android:layout_y="10px"></TextView>
<TextView
android:id="@+id/txtHasil"
android:layout_width="190px"
android:layout_height="wrap_content"
android:layout_x="30px"
android:layout_y="50px"></TextView>

<Button
android:id="@+id/btnBack"
android:text="Back"
android:layout_gravity="center_horizontal"
android:layout_width="90px"
android:layout_height="wrap_content"
android:layout_marginTop="200px"
android:onClick="BackMainMenu"
android:layout_x="76px"
android:layout_y="180px"></Button>
</AbsoluteLayout>
</ScrollView>
</AbsoluteLayout>

Kode program diatas digunakan untuk menampilkan halaman About. Perintah yang digunakan untuk menampilkan judul dari halaman Tutorial ini adalah android:text = “ABOUT”. Kemudian ditampilkan teks yang berisikan keterangan petunjuk yang sudah disimpan pada txtHasil. Keterangan teks yang disimpan pada txtHasil tersebut dibuat pada kelas about.java. Lalu pembuatan button Back dilakukan dengan fungsi Button, lalu diatur agar ketika button Back diklik maka akan kembali ke halaman awal dengan menggunakan fungsi android:onClick = “BackMainMenu”. 
Gambar 3.20 Tampilan Output Halaman About
 
Layout main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_height="wrap_content"
   android:layout_width="fill_parent"
   android:orientation="horizontal"
   android:background="@drawable/test">
    <TextView
            android:id="@+id/selection"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
      <ListView
            android:id="@android:id/list"
            android:drawSelectorOnTop="false"
            android:padding="7px"
            android:layout_weight="1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"></ListView>
</LinearLayout>

Kode program diatas digunakan untuk menampilkan halaman daftar pilihan rumus Fisika. Terdapat pengaturan ukuran layout serta ukuran teksnya. Teks yang akan ditampilkan pada halaman tersebut diambil dari nilai teks yang disimpan pada string yang terdapat pada kelas MenuRumusFisika.java.

Gambar 3.21 Tampilan Halaman Daftar Rumus Fisika

Layout Rumus Fisika
Penjelasan layout rumus Fisika ini mewakili ke-10 rumus yang ada pada aplikasi Rumus Fisika, karena ke-10 rumus tersebut masing-masing memiliki button dan kolom isian untuk menampung nilai dari variable yang dimasukkan serta nilai hasil operasinya.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
<TextView android:text="Kuat Arus (I) :" android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></TextView>
<EditText android:text="" android:id="@+id/txtKuatArus"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="numberSigned|numberDecimal"></EditText>
<Button android:text="Hitung Beda Potensial" android:id="@+id/btnHitung"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="hitungBedaPotensial"></Button>
<Button android:text="Kembali ke Menu" android:id="@+id/btnBack"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="backtoMenu"></Button>

Kode program diatas digunakan untuk memasukkan elemen-elemen pada halaman perhitungan kesepuluh rumus Fisika, antara lain teks yang digunakan sebagai variabel pada rumus yang sedang digunakan, kolom isian yang digunakan untuk menampung nilai yang dimasukkan user, serta tombol yang digunakan untuk melakukan perhitungan rumus. Kode program diatas merupakan contoh dari perhitungan rumus beda potensial. Kesembilan rumus lainnya memiliki dasar kode program yang sama didalam pembuatannya.




Gambar 3.22 Tampilan Halaman Perhitungan Rumus Fisika

Japanico Christiadi Silalahi
50408474
4IA06