Archive by Author

MELODY CONVERTER Assembly Language-Tugas I Pengantar Organisasi Komputer

6 Jun

Pada tugas I, Anda diminta untuk membuat converter lagu dari not angka diterjemahkan menjadi lafal nada tersebut, atau pun sebaliknya. Misalnya, 1 = Do, 2 = Re, dst. Input not angka lagu ini diletakkan di flash / program memory. Kemudian, hasil outputnya harus Anda tampilkan di LCD.

Contoh:

Input di flash : 1 2 3

Output di LCD : c d e

 

Input di Flash : c d e

Output di LCD : 1 2 3

 

Input di Flash : 1 d 3

Output Di LCD : c 2 e

 

Kemudian, program tersebut dapat menggunakan operator #. Operator # ini menaikkan tangga nada setengah kali.

#1 = cis

#(1 2) = cis dis

#(1 2 3) = cis dis es

##(1 2 3) = d e f

Not atau not-not angka yang dikenai operator #, terletak pada satu baris yang sama.

 

C D E F G A B = 1 2 3 4 5 6 7

Kode Programnya:


.include "m8515def.inc"

 

.def temp = r16

.def inputR = r17        ; Register that saves input

.def outputR = r18    ; Register that saves output

.def PB = r19                 ; output portB di LCD

.def cKres = r21           ; counter of #

.def lingkup =  r22     ; as a status bit is there are any # next to the local input

 

rjmp   START

 

INIT_LCD:

cbi PORTA,1

ldi PB,0x38

out PORTB,PB

sbi PORTA,0 ; SETB EN

cbi PORTA,0

rcall WAIT_LCD

 

cbi PORTA,1

ldi PB,$0E

out PORTB,PB

sbi PORTA,0

cbi PORTA,0

rcall WAIT_LCD

cbi PORTA,1

ldi PB,$06

out PORTB,PB

sbi PORTA,0 ; SETB EN

cbi PORTA,0

rcall WAIT_LCD

ret

 

CLEAR_LCD:

cbi PORTA,1

ldi PB,$01

out PORTB,PB

sbi PORTA,0 ; SETB EN

cbi PORTA,0

rcall WAIT_LCD

ret

 

WAIT_LCD:

ldi temp, 4

CONT:

dec temp

brne CONT

ret

 

input:

.db "#(12)"

.db                           0                     ; the end of input

 

 

START:

ldi temp,low(RAMEND)

out SPL,temp

ldi temp,high(RAMEND)

out SPH,temp

 

rcall INIT_LCD

rcall CLEAR_LCD

ser temp

 

; initilize port outputR n B as output

out DDRA,temp

out DDRB,temp

 

ldi ZH,high(2*input)

ldi ZL,low(2*input)

 

push cKres                                 ; push the value of cKres which is 0

ldi lingkup,1                             ; set T

rjmp LoadInput

 

LoadInput:

lpm                           inputR,Z+

tst      inputR

breq  quit

cpi     inputR,'A'                                               ; if Capital or not (Letter)

brsh   toLetter

cpi     inputR,'1'                                               ; if Number

brsh                          angka

cpi     inputR,'('

breq  bukaKurung

cpi     inputR,')'

breq  tutupKurung

cpi     inputR,'#'

breq  kres

rjmp  LoadInput

 

kres:

inc     cKres

ldi      lingkup,1

rjmp  LoadInput

 

 

bukaKurung:

pop                            temp       ; get the cKres value that will affect this char input

push  temp        ; save the cKres value that maybe will affect the       next   char input

add                         cKres,temp  ;so now the total cKress that will affect just for this char input

push  cKres        ; and save it

ldi       lingkup,0                      ; assign F (to go to the next char input)

ldi       cKres,0   ; assign 0 (to go to the next char input)

rjmp   LoadInput

 

tutupKurung:

pop inputR

ldi lingkup,0                             ;assign F (to go to the next char input)

rjmp LoadInput

 

write:

sbi PORTA,1       ; SETB RS

out PORTB, outputR

sbi PORTA,0       ; SETB EN

cbi PORTA,0      ; CLR EN

ret

 

QUIT :

rjmp QUIT

 

toLetter:

rjmp Letter

 

toLoadInput:

rjmp LoadInput

 

angka:

subi                         inputR,'1'                          ;to get the difference value (0-8) not in asci

add                         inputR,inputR                ;mul (*2) to make it easy in finding the output text whether it is affected with # or not

 

pop                         temp    ;get the value of how many "#" that has already been found

push  temp  ;store it in stack again

add                         inputR,temp     ; inputR +=cKres

cpi   lingkup,1           ; cp if there are any single "#" next to the number(of input)

breq  jlhKres

rjmp  cekValue

 

JlhKres:

add inputR, cKres

 

cekValue:

ldi lingkup,0    ;there's no # next to the input so set F

ldi cKres,0       ;so there's no need push action (no need to update cKres)

tst inputR

 

;check the value of inputR

InRangeorNot:

breq cetakC      dec inputR

breq cetakCis   dec inputR

breq cetakD      dec inputR

breq cetakDis  dec inputR

breq cetakE       dec inputR

breq cetakEs     dec inputR

breq cetakF       dec inputR

breq cetakFis   dec inputR

breq cetakG      dec inputR

breq cetakGis  dec inputR

breq cetakA      dec inputR

breq cetakAis   dec inputR

breq cetakB      dec inputR

breq cetakBis   dec inputR

rjmp InRangeorNot  ;if inputs>7 than decrement it until equals with the suitable one

 

cetakC:

ldi outputR, 'C'                        rcall write

rjmp toLoadInput

cetakCis:

ldi outputR, 'C'                        rcall write

ldi outputR, 'i' rcall write

ldi outputR, 's'                         rcall write

rjmp toLoadInput

 

cetakD:

ldi outputR, 'D'                       rcall write

rjmp toLoadInput

cetakDis:

ldi outputR, 'D'                       rcall write

ldi outputR, 'i' rcall write

ldi outputR, 's'                         rcall write

rjmp toLoadInput

 

cetakE:

ldi outputR, 'E'                        rcall write

rjmp toLoadInput

cetakEs:

ldi outputR, 'E'                        rcall write

ldi outputR, 's'                         rcall write

rjmp toLoadInput

 

cetakF:

ldi outputR, 'F'                        rcall write

rjmp toLoadInput

cetakFis:

ldi outputR, 'F'                        rcall write

ldi outputR, 'i' rcall write

ldi outputR, 's'                         rcall write

rjmp toLoadInput

 

cetakG:

ldi outputR, 'G'                       rcall write

rjmp toLoadInput

cetakGis:

ldi outputR, 'G'                       rcall write

ldi outputR, 'i' rcall write

ldi outputR, 's'                         rcall write

rjmp toLoadInput

 

cetakA:

ldi outputR, 'A'                        rcall write

rjmp toLoadInput

cetakAis:

ldi outputR, 'A'                        rcall write

ldi outputR, 'i' rcall write

ldi outputR, 's'

rcall write          rjmp toLoadInput

 

cetakB:

ldi outputR, 'B'                        rcall write

rjmp toLoadInput

cetakBis:

ldi outputR, 'B'                        rcall write

ldi outputR, 'i' rcall write

ldi outputR, 's'                         rcall write

rjmp toLoadInput

 

sub20:

subi inputR, $20   ; the difference between small caps and capital is $20

rjmp PreValue

 

Letter:

cpi inputR,$60                             ;if small caps then convert it to the capital one

brsh sub20

 

 

PreValue:  ;if the input has already been in Capital Letter so

subi inputR, $12  ;get the value that represents in number

pop temp           ;get the value of cKres

push temp

 

cpi lingkup,1    ;check if there are any #next to the input that has already been update

breq jlhKresF

rjmp PreNext

 

JlhKresF:                                                                                                                            ;

add temp, cKres  ;temp is filled with the total cKress value that this input get affected

 

PreNext:

ldi cKres,0         ;set 0 utk jlh cKres yg hanya berhubungan dgn input sekrg utk tdk mengefek pd input sesudahnya

rjmp loop

 

add7:

; if it is A n B then add 7 to it, in intend to gain the correct output that ought to be

ldi r20,7

add inputR,r20

rjmp Output_angka

 

loop:

subi temp, $2; is k larger set c flag

in r19, SREG

brsh tambah1 ; maonya clear

 

continue:

out SREG, r19  ; get the saved one of status register

brmi cetakKres                       ; if the Negative flag from SREG is 1 go to cetakKres

tst temp              ; jika cKres == 0

breq Value

rjmp loop

 

Value:

cpi inputR,'1'   ; for letter A,B compare if the input(that has been represented in number) is lower than 1 or not

brlo add7

 

Output_angka:

;if the answer has already been the correct answer then print it

mov outputR,inputR

rcall write

rjmp LoadInput                                              ;check the next character of the input

 

tambah1:

inc inputR

rjmp continue

 

cetakKres:

inc temp                    ;make temp register not negative

inc temp

cpi temp,$0

breq Value

ldi outputR,'#'        ; jika input yg bersangkutan jumlah # nya ganjil maka ada #

rcall write

rjmp Value

KPU sebagai Lembaga Penyelenggara Pemilu

6 Jun

Banyak orang bertanya-tanya tentang apa sebenarnya peran KPU dalam Pemilu yang tidak sengaja mengakibatkan begitu banyak kericuhan karena kasus permasalahan Daftar Pemilih Tetap (DPT). Untuk menjawab pemicu tersebut, Harian Umum Pelita memberikan penjelasan mengenai peran dan tugas KPU dalam Pemilu.

Menurut pasal 1 ayat (6) Undang-Undang Nomor 22 tahun 2007 tentang Penyelenggara Pemilihan Umum, Komisi Pemilihan Umum (KPU) adalah lembaga penyelenggara Pemilu yang bersifat nasional, tetap, dan mandiri.

KPU bersifat independen sebagaimana termaktub dalam Pasal 3 ayat (3) Undang-Undang Nomor 22 tahun 2007, yang berbunyi, “Dalam menyelenggarakan Pemilu, KPU bebas dari pengaruh pihak manapun berkaitan dengan tugas dan wewenangnya.” KPU memiliki tugas untuk menyelenggarakan Pemilu, yakni Pemilu Legislatif, Pemilu Presiden, serta Pemilihan Kepala Daerah (Pilkada). KPU bertugas menyelenggarakan Pemilu secara langsung, umum, bebas, rahasia, jujur, dan adil.

Dalam menjalankan tugasnya, KPU juga dibantu oleh Panitia Pengawas Pemilu sebagai tim teknis untuk mengawasi semua tahapan penyelenggaraan pemilu, menerima laporan pelanggaran peraturan perundang-undangan pemilu, menyelesaikan sengketa yang timbul dalam penyelenggaraan pemilu, dan meneruskan temuan dan laporan yang tidak dapat diselesaikan kepada instansi yang berwenang. Dan sebagai sebuah lembaga, menurut pasal 39 Undang-Undang Nomor 22 tahun 2007, KPU memilki tanggung jawab dalam hal keuangan, yakni menggunakan dan membelanjakan dana yang diberikan pemerintah sesuai dengan peraturan perundang-undangan. Selain itu, KPU juga bertanggung jawab dalam hal penyelenggaraan seluruh tahapan Pemilu serta memberikan laporan kepada Dewan Perwakilan Rakyat dan Presiden atas kinerjanya sebagai lembaga penyelenggara Pemilu.

Jadi, dapat disimpulkan bahwa Komisi Pemilihan Umum (KPU) adalah lembaga yang memiliki peranan sangat penting untuk mewujudkan Pemilu yang lancar serta langsung, umum, bebas, rahasia, jujur, dan adil. Oleh karena itu, kita sebagai masyarakat juga harus ikut membantu mewujudkan hal tersebut.

Kewirausahaan – Ekonomi dan Akuntansi Kemampuan Ekonomi

6 Jun

Pengertian wirausaha dan kewirausahaan:

  1. Wirausaha adalah orang yang memiliki semangat, sikap, perilaku, dan kemampuan kewirausahaan.
  2. Kewirausahaan adalah semangat, sikap, perilaku, dan kemampuan seseorang dalam menangani usaha atau kegiatan yang mengarah pada upaya mencari, menciptakan serta menerapkan cara kerja, teknologi dan produk baru dengan meningkatkan efisiensi dalam rangka memberikan pelayanan yang lebih baik dan atau memperoleh keuntungan yang lebih besar.

Laporan bank dunia akhir-akhir ini menyatakan bahwa tingkat pendapatan kotor nasional perkepala (GNP percapital) penduduk indonesia adalah di bawah US $ 600. Hal ini mencerminkan tingkat pertumbuhan ekonomi nasional yang masih rendah. Dan hal ini memang dipengaruhi berbagai hal antara lain masalah dana pembangunan yang tinggi dan faktor sosial serta budaya bangsa yang belum siap menyongsong tuntutan pembangunan. Salah satu upaya yang kini ditempuh adalah menciptakan peluang dan mendorong tumbuhnya semangat wirausaha pada masyarakat Indonesia. Sebab para wirausahawan inilah yang mampu menciptakan lapangan kerja baru agar menyerap tenaga kerja yang lebih banyak sehingga pada akhirnya terciptalah pemerataan pendapatan.

BERJIWA WIRAUSAHA
Para wirausahawan adalah orang-orang yang mempunyai kemampuan melihat dan menilai kesempatan-kesempatan bisnis, mengumpulkan sumber daya-sumber daya yang dibutuhkan guna mengambil keuntungan dari padanya dan mengambil tindakan yang tepat guna memastikan sukses. Para wirausaha adalah individu-individu yang berorientasi kepada tindakan, dan bermotivasi tinggi yang mengambil resiko dalam mengejar tujuannya.

Ciri-ciri dan sifat dari wirausaha :
1. Percaya diri: keyakinan, ketidaktergantungan, individualitas, optimisme.
2. Berorientasi pada tugas dan hasil : kebutuhan akan prestasi berorientasi laba, ketekunan dan ketabahan, tekad kerja keras, mempunyai dorongan kuat, dan inisiatif.
3. Pengambil resiko : kemampuan mengambil resiko, suka pada tantangan.
4. Kepemimpinan : bertingkah laku sebagai pemimpin dapat bergaul dengan orang lain menanggapi saran dan kritik.
5. Keorisinilan : inovatif dan kreatif, fleksibel, punya banyak sumber serba bisa.
6. Berorientasi ke masa depan.

A. Falsafah Wirausaha
Keberhasilan sebagai wirausaha tergantung kepada kesediaan anda untuk bertanggung jawab atas pekerjaan anda sendiri. Kejarlah tujuan-tujuan yang berhubungan dengan kemampuan-kemampuan dan keterampilan anda. Jika anda secara jujur dan agresif mengejar tujuan-tujuan ini, anda akan dapat mencapai hasil-hasil yang positif.

B. Wirausaha Sebagai Pribadi
Setiap orang adalah individu yang unik, semua orang mempunyai pengalaman masa lampu yang berbeda, hidup dalam situasi kehidupan yang berlainan, mempunyai ikatan dan tanggung jawab yang berlainan, dan mempunyai tujuan hidup yang berlainan.
Anda harus belajar dari pengalaman dan berubah dari waktu kewaktu. Anda haruslah selalu sadar akan cara-cara baru untuk meningkatkan produktifitas anda sendiri. Salah satu kunci utama bagi keberhasilan anda adalah keterlibatan anda dalam pertumbuhan pribadi secara terus menerus.

C.Menjadi Wirausaha Di Tempat Kerja Anda
Berwirausaha adalah suatu gaya hidup dan prinsip-prinsip tertentu akan mempengaruhi karir anda. Bersifatlah fleksibel dan imaginatif, mampu merencanakan, mengambil resiko, mengambil keputusan-keputusan dan mengambil tindakan untuk mencapai tujuan. Anda haruslah bersedia berkerja dalam keadaan konflik, perubahan dan keragu-raguan. Anda harus menyusun prioritas dalam sasaran karir, dan hasil-hasil yang di inginkan harus berkaitan dengan tujuan-tujuan yang dapat diukur dan berarti.
Sebuah ciri wirausaha yang penting adalah bahwa anda menawarkan sesuatu yang berguna bagi orang lain. Semakin besar kebutuhan orang akan produk atau jasa anda, semakin besar imbalan anda. Jika anda bekerja untuk meningkatkan tingkat hidup orang lain dan memperbaiki kehidupan mereka anda akan melayani kebutuhan-kebutuhan masyarakat. Inilah kiat menjadi seorang wirausaha.

D. Sikap Terhadap Karir
Para wirausaha memiliki kemampuan-kemampuan tertentu yang dapat diterapkan pada sejumlah karir yang luas.
Faktor-faktor dalam mengembangkan sikap-sikap kewirausahaan dalam karir anda adalah :
1. Pilihlah sebuah karir yang akan memberikan anda kemungkinan untuk mewujudkan diri  anda secara kreatif dan juga memungkinkan pertumbuhan pribadi dan profesi.
2. Jika anda memulai karir, tindakan-tindakan anda hendaknya mencontoh orang-orang  yang berhasil dalam bidang pekerjaan yang sama
3. Selalulah berusaha meningkatkan diri.
4. Karena semuanya selalu berubah, maka andapun haruslah berubah.
5. Anda harus berosientasi pada tindakan.
6. Buatlah beberapa hal yang menjadi rutin agar anda mempunyai banyak waktu untuk  berwirausaha.
7. Jika anda terlibat secara pribadi, maka terimalah tanggung jawab untuk  mensukseskan sesuatu kegiatan.
8. Anda harus mampu menggabungkan sifat-sifat pribadi dari pada individu yang bekerja untuk anda dalam upaya mencapai hasil-hasil maksimum.
9. Mengambil keputusan merupakan ciri utama dari wirausaha yang berhasil.
10.Hiduplah pada masa sekarang dan janganlah menghabiskan waktu dengan menyesali kegagalan di masa lampau.

E. Sifat Mental
Para wirausaha memiliki pandangan hidup yang sehat. Mereka merupakan individu-individu yang matang yang telah mengembangkan suatu cara menilai pengalaman-pengalaman secara sehat.
Sikap mental yang tepat terhadap pekerjaan sangatlah penting parawirausaha yang berhasil menikmati pekerjaan mereka dan berdedikasi total terhadap apa yang mereka lakukan. Sikap mental positif mereka mengubah pekerjaan mereka menjadi pekerjaan yang menggairahkan, menarik dan memberi kepuasan.

F. Pentingnya Sikap Positif
Sikap mental positif memudahkan anda unuk fokus pada kegiatan-kegiatan dan kejadian-kejadian yang ingin anda capai.
Faktor-faktor yang berguna bagi wirausaha dalam mengembangkan sikap mental yang positif :
1. Pusatkan perhatian anda
2. Pilihlah sasaran positif dalam pekerjaan anda.
3. Bergaullah dengan orang-orang yang berfikir dan bertindak secara wirausaha
4. Percaya diri anda dan bakat -bakat anda
5. Lingkungan anda akan mempengaruhi prestasi anda
6. Hilangkan beban dengan mengambil tindakan

G. Kebiasaan dan Sikap
Jika anda mengerti bahwa andalah yang bertanggung jawab atas tindakan-tindakan anda, seharusnya anda bersedia meninjau kembali kebiasaan-kebiasaan dalam hubungannya dengan tujuan-tujuan masa depan.
Wirausaha sejati adalah orang yang selalu berubah dan berkembang. Mempunyai sikap-sikap yang positif dan citra diri yang sehat penting bagi semua wirausaha.

Sikap dan perilaku sangat dipengaruhi oleh sifat dan watak yang dimiliki oleh seseorang. Sifat dan watak yang baik, berorientasi pada kemajuan dan positif merupakan sifat dan watak yang dibutuhkan oleh seorang wirausahawan agar wirausahawan tersebut dapat maju/sukses. Gooffrey G. Meredith (1996; 5-6) mengemukakan ciri-ciri dan watak kewirausahaan seperti berikut :

No

Ciri-Ciri

Watak

1

Percaya diri

Keyakinan, kemandirian, individualitas, dan optimisme.

2

Berorientasikan tugas dan hasil

Kebutuhan akan prestasi, berorientasi pada laba, memiliki ketekunan dan ketabahan, memiliki tekad yang kuat, suka bekerja keras, energik dan memiliki inisiatif.

3

Pengambil resiko

Memiliki kemampuan mengambil resiko dan suka pada tantangan.

4

Kepemimpinan

Bertingkah laku sebagai pemimpin, bergaul dengan orang lain, suka terhadap kritik dan saran yang membangun.

5

Keorisinilan

Memiliki inovasi dan kreativitas tinggi, fleksibel, serta bisa dan memiliki jaringan bisnis yang luas.

6

Berorientasi ke masa depan

Persepsi dan memiliki cara pandang/ cara pikir yang berorientasi pada masa depan.

7

Jujur dan tekun

Memiliki keyakinan bahwa hidup itu sama dengan kerja.

Pendapat lain M. Scarborough dan Thomas W. Zimmerer (1993; 6-7 ) mengemkakan delapan karakteristik yang meliputi :

  1. Memiliki rasa tanggung jawab atas usaha-usaha yang dilakukannya.
  2. Lebih memilih risiko yang moderat.
  3. Percaya akan kemampuan dirinya untuk berhasil
  4. Selalu menghendaki umpan balik yang segera
  5. Berorientasi ke masa depan, perspektif, dan berwawasan jauh ke depan
  6. Memiliki semangat kerja dan kerja keras untuk mewujudkan keinginannya demi masa depan yang lebih baik .
  7. Memiliki ketrampilan dalam mengorganisasikan sumber daya untuk menciptakan nilai tambah
  8. Selalu menilai prestasi dengan uang.

Wirausaha selalu komitmen dalam melakukan tugasnya sampai berhasil. Ia tidak setengah-setengah dalam melakukan pekerjaannya. Ia berani mengambil resiko terhadap pekerjaannya karena sudah diperhitungkan artinya risiko yang di ambil tidak terlalu tinggi dan tidak terlalu rendah. Keberanian menghadapi risiko yang didukung oleh komitmen yang kuat, mendorong wirausaha untuk terus berjuang mencari peluang sampai ada hasil. Hasil-hasil ini harus nyata/jelas dan objektif dan merupakan umpan balik bagi kelancaran kegiatannya. Dengan semangat optimis yang tingggi karena ada hasil yang diperoleh, maka uang selalu dikelolah secara proaktif dan dipandang sebagai sumber daya.

Dalam mencapai keberhasilannya, seorang wirausaha memiliki ciri-ciri tertentu pula. Dalam Enterpreneurship and Small Enterprise Development Report (1986) yang dikutip oleh M. Scarborough dan Thomas W. immerer 1993;5) dikemungkinan beberapa karakteristik kewirausahaan yang berhasil,

Di antaranya memiliki ciri-ciri :

  1. Proaktif, yaitu berinisiatif dan tegas
  2. Berorientasi pada prestasi, yang tercermin dalam padangan dan bertindak terhadap peluang, orientasi efisiensi, mengutamakan kualitas pekerjaan, berencana, dan mengutamakan monitoring
  3. Komitmen kepada orang lain, misalnya dalam mengadakan kontrak dan hubungan bisnis.


Berpikir Kreatif dalam Kewirausahaan

Menurut Zimmererr (1996) untuk mengembangkan ketramplan berfikir, seseorang menggunakan otak sebelah kanan. Sedangkan untuk belajar mengembangkan ketrampilan berpikir digunakan otak sebelah kiri, ciri-cirinya :

  • Selalu bertanya : Apa ada cara yang lebih baik?
  • Selalu menantang kebiasaan, tradisi dan kebiasaan rutin
  • Mencoba untuk melihat masalah dari perspektif yang berbeda
  • Menyadari kemungkinan banyak jawaban ketimbang satu jawaban yang benar
  • Melihat kegagalan dan kesalahan sebagai jalan untuk mencapai sukses
  • Mengkorelasikan ide-ide yang masih samar terhadap masalah untuk menghasilkan pemecahan inovasi
  • Memiliki ketrampilan helicopter yaitu kemampuan untuk bangkit di atas kebiasaan rutin dan melihat permasalahan dari perspektif yang lebih luas kemudian memfokuskannnya pada kebutuhan untuk berubah.

Lukisan Kaligrafi

3 Jun

Lukisan Kaligrafi adalah sebuah cerpen yang merupakan karya dari K.H. Mustofa Bisri. Cerpen ini menyajikan sesuatu yang baru bagi pembacanya karena menyuguhkan unsur ketidaksengajaan dalam penceritaannya. Cerpen ini sangat mengagumkan dan akan menelitik keingintahuan pembaca ketika memulai untuk membacanya. Tokoh-tokoh yang terdapat dalam cerpen ini adalah Ustadz Bachri sebagai tokoh utama, Hardi sebagai teman yang mengenalkan tokoh utama tentang melukis kaligrafi, serta istri dan anak Ustadz Bachri.

Dalam cerpen ini terdapat beberapa istilah kaligrafi. Istilah-istilah tersebut dapat dibagi menjadi bagian yang telah saya pahami dan yang belum saya pahami. Istilah-istilah yang telah saya pahami adalah khath, kalam, dan sebagian jenis kaligrafi, seperti Naskhi, Tsuluts, Diwani, dan Kufi. Sementara istilah yang belum saya pahami adalah jenis kaligrafi yang lain seperti Riq’ah dan Farisi, serta Tsuluts Jaliy yang kemungkinan merupakan bagian dari kaligrafi Tsuluts.

Awal mula melihat cerpen ini tidak ada kesan sama sekali sebenarnya di benak saya, karena saya menganggap cerpen ini adalah cerpen yang biasa-biasa saja dan sama dengan cerpen-cerpen lainnya. Ketika memulai membaca cerpen ini, timbullah rasa keingintahuan dalam diri saya yang lebih besar untuk mengetahui kelanjutan cerpen ini. Cerpen ini mulai menggugah imajinasi saya tentang apa yang akan terjadi kemudian di akhir cerita. Dan setelah sampai di titik klimaks dari cerpen ini, saya merasa cerpen ini sangat lucu padahal pada awalnya saya mengira bahwa cerpen ini akan terasa sangat serius melihat dari karakter Ustadz Bachri. Dan pada akhir cerita saya merasakan betapa hebatnya proses imajinasi dari sang penulis yang membuat saya terkagum-kagum dengan ketidaksengajaan yang dilakukan oleh sang tokoh utama dalam cerpen ini.

Cerpen ini sarat akan hikmah dan pesan moral yang dapat diambil oleh sang pembacanya. Sang penulis memberikan pesan tersirat yang pasti lama-kelamaan akan dimengerti sang pembaca dengan membaca cerpen ini lebih dalam. Bagi saya sendiri, pesan yang dapat saya ambil dari cerpen ini adalah bahwa kita harus percaya pada diri sendiri bahwa kita sebenarnya mampu untuk mengembangkan diri lebih baik lagi apabila kita melihat orang lain pun bisa. Selain itu, kita juga tidak boleh meremehkan suatu hal walaupun kita telah terbiasa dengannya, seperti yang dirasakan tokoh utama ketika memulai melukis kaligrafi. Kita juga tidak boleh mudah putus asa dalam mencapai suatu hal yang kita inginkan, kita harus terus berjuang sebaik-baiknya karena kemungkinan untuk berhasil pasti ada. Dan yang terakhir adalah kita harus percaya bahwa keajaiban itu memiliki kemungkinan untuk ada apalagi bila diikuti dengan kepercayaan pada diri sendiri dan kesempatan yang diberikan karena di dunia ini tidak ada hal hal yang tidak mungkin terjadi, semuanya ditentukan oleh seberapa besar usaha kita untuk mencapainya dan keajaiban dari Sang Pencipta.

Konsep Pengembangan Seni Islam

3 Jun

Ajaran Islam secara tidak langsung telah memberi inspirasi yang kuat bagi tumbuhnya berbagai bentuk karya seni dalam kehidupan manusia dan masyarakat. Sejak masa Rasulullah SAW, karya seni tidaklah bisa dipisahkan dari sejarah perkembangan Islam. Oleh karena itu, dalam pandangan Prof. Dr. H. Ali Abdurrahman, hubungan seni dan Islam adalah hubungan yang tidak dapat dipisahkan.

Seni sebagai salah satu bentuk kebesaran Allah SWT, menciptakan keadaan yang bernama keindahan. Setiap bangsa dan negara mempunyai bentuk atau aliran seni yang bermacam-macam bergantung kepada kebudayaan atau kebiasaan penduduk setempat yang mungkin pula dipengaruhi oleh kebudayaan yang masuk dari luar daerah ataupun bangsa tersebut.

Seni adalah sebagai salah satu bentuk hiburan masyarakat atau penduduk pada suatu tempat, juga sebagai pelembut rasa seseorang kepada orang lain. Islam dalam hal ini memperbolehkan kita mencintai seni asalkan tidak mengalahkan rasa cinta kita kepada Allah SWT. Seni yang didasarkan pada nilai-nilai Islam, yakni agama dan ketuhanan inilah yang menjadi pembeda antara seni Islam dengan ragam seni yang lain. Seni yang Islami adalah seni yang menggambarkan wujud dengan bahasa yang indah serta sesuai dengan fitrah manusia. Kesenian Islam membawa manusia kepada pertemuan yang sempurna antara keindahan dan kebenaran.

Dari berbagai uraian di atas, dapat disimpulkan bahwa konsep pengembangan seni Islam adalah satu, yakni Islam memberikan kebebasan sepenuhnya asalkan sesuai dengan prinsip seni Islam, yakni harus mendidik, menghibur, memberikan ilmu dan kesadaran pada diri umat Islam sehingga akan lebih mendekatkan diri kepada Allah SWT, serta yang paling penting harus didasari oleh keikhlasan dengan tujuan untuk beribadah kepada Allah SWT.

 

Daftar Pustaka :

NN. 2001. Seni Menurut Pandangan Islam. http://kbi.gemari.or.id/beritadetail.php?id=1592.

Imran, Ahda. 2010. Seni Itu Bagian dari Islam. http://bataviase.co.id/node/155472.

Alif. 2008. Seni dalam Islam. http://alifmagz.com/wp/2008/09/12/seni-dalam-islam.

Kebudayaan dalam Perspektif Islam

3 Jun

Judul               : 1. Relasi Islam dan Kebudayaan

2. Pandangan Islam tentang Kebudayaan

Penulis : 1. Ahmad Zain An Najah, MA

2. Al Manhaj

Data Publikasi  : 1. http://ahmadzain.wordpress.com/relasi-antara-islam-dan-kebudayaan/

(4 Mei 2010, 20 : 10)

2.  http://www.almanhaj.or.id/content/2643/slash/0 (29 April 2010, 12 : 30)

Islam adalah agama yang diturunkan Allah SWT sebagai rahmat bagi alam semesta karena setiap ajarannya mencakup segala aspek dalam kehidupan dan akan selalu membawa kemaslahatan. Tidak ada satupun bentuk kegiatan yang dilakukan manusia, kecuali Allah telah meletakkan aturan-aturannya dalam Islam. Kebudayaan adalah salah satu sisi penting kehidupan manusia, dan Islam pun telah mengatur dan memberikan batasan-batasan di dalamnya.

Kebudayaan berasal dari kata buddhaya yang dalam bahasa Sansekerta diartikan sebagai hal-hal yang berkaitan dengan budi dan akal manusia. Kebudayaan sendiri dapat diartikan sebagai suatu cara hidup yang berkembang dan dimiliki bersama oleh sebuah kelompok manusia dan diwariskan dari generasi ke generasi.

Manusia menurut Islam merupakan makhluk terbaik yang diciptakan Allah SWT karena memiliki banyak kelebihan dibandingkan makhluk lain dan memiliki tanggung jawab yang lebih besar atas tugas yang diberikan kepadanya. Allah telah memberikan manusia sebuah kemampuan dan kebebasan untuk berkarya, berpikir, dan menciptakan suatu kebudayaan. Islam mengajarkan umatnya untuk selalu beramal dan berkarya, untuk selalu menggunakan pikiran yang diberikan Allah untuk mengolah alam dunia ini menjadi sesuatu yang bermanfaat bagi kepentingan manusia

Islam adalah agama yang datang untuk mengatur dan membimbing masyarakatnya menuju kehidupan yang baik dan seimbang. Dengan demikian Islam tidaklah datang untuk menghancurkan budaya yang telah dianut suatu masyarakat, akan tetapi dalam waktu yang bersamaan Islam menginginkan agar umat manusia jauh terhindar dari hal-hal yang yang tidak bermanfaat dan mendatangkan kerugian dalam kehidupannya, sehingga Islam perlu meluruskan dan membimbing kebudayaan yang berkembang di masyarakat menuju kebudayaan yang beradab dan berkemajuan sehingga akan mempertinggi derajat kemanusiaan manusia.

Islam telah menggariskan adab-adab Islami yang mengatur etika, budaya, dan norma-norma bagi setiap pemeluknya. Adab ini meliputi seluruh aspek yang tuntunannya berasal dari Allah SWT melalui penyampaian kepada Nabi Muhammad SAW.

Dari berbagai aspek adab yang diajarkan, kebersihan merupakan  bagian yang sangat penting dalam mendukung berbagai hal dalam kehidupan sehingga Islam sendiri menjadikan kebersihan sebagai bagian dari iman. Hidup bersih akan membuat jiwa dan pikiran kita lebih tenang dan nyaman sehingga akan memudahkan penyelesaian berbagai masalah yang kita hadapi dalam hidup.

Dari uraian di atas, dapat disimpulkan bahwa Islam adalah agama yang datang untuk mengatur dan membimbing masyarakatnya menuju kehidupan yang baik dan seimbang, yakni dengan menerapkan adab-adab yang telah digariskan dalam setiap aspek kehidupan. Dari berbagai aspek tersebut, kebersihan merupakan bagian terpenting yang perlu dikembangkan dalam setiap kegiatan melihat begitu banyak manfaat yang dapat kita peroleh darinya, seperti terhindarnya kita dari berbagai masalah yang ditimbulkan oleh sampah dan membuat kita lebih terjaga kesehatannya. Oleh karena itu, kita sebagai mahasiswa setidaknya dapat membantu menciptakan kebersihan dengan terus berupaya menyadarkan masyarakat akan pentingnya kebersihan atau paling tidak dengan melakukan pembuangan sampah pada tempatnya.

Contoh soal dan solusi matematika kombinatorik

3 Jun

1. Pak Tino memiliki 4 anak perempuan dan 3 anak laki-laki yang semuanya berusia dibawah 17 tahun. Pak Tino ingin mengajak anak-anaknya ke restoran. Karena mobil Pak Tino hanya muat 5 penumpang termasuk dirinya, maka hanya 4 anaknya yang bisa naik mobilnya. Pak Tino perlu minimal satu anak laki-laki di mobilnya untuk menemaninya sebagai petunjuk jalan. Berapa banyaknya cara Pak Tino  memilih anak-anaknya untuk naik mobilnya jika

a.      Tempat duduk anak-anak tersebut diperhatikan

Cara 1: (difference rule)

Banyaknya cara = total seluruh kemungkinan – kemungkinan semua anak perempuan

= P(7,4) – P(4,4) = 816 cara

Cara 2: (addition rule)

Banyaknya cara =    (1 anak lelaki dan 3 anak perempuan ) +(2 anak lelaki dan 2 anak perempuan )+ (3 anak lelaki dan 1 anak perempuan )

=    (P(4) * C(3,1)*C(4,3)) +  ((P(4) * C(3,2)*C(4,2)) + (P(4) *C(3,3)*C(4,1))

=  (24*3*4) + (24*3*6) + (24*1*4)

=  288 +  432 + 96  =  816

Common Mistake:

C(3,1) x P (6,3) = 3 x 120 = 360

Jika jawabannya seperti ini, berarti sudah dipastikan bahwa yang diajak adalah (1 laki-laki dan 3 perempuan), padahal bisa saja yang diajak adalah (2 laki-laki + 2 perempuan kan)?

b.      Tempat duduk tidak diperhatikan

Cara 1: (difference rule)

Banyaknya cara = C(7,4) – C(4,4) = 34 cara

 Cara 2: (addition rule)

Banyaknya cara =    (1 anak lelaki dan 3 anak perempuan ) + (2 anak lelaki dan 2 anak perempuan ) + (3 anak lelaki dan 1 anak perempuan )

=    (C(3,1)*C(4,3)) +  (C(3,2)*C(4,2)) + (C(3,3)*C(4,1))

=  (3*4) + (3*6) + (1*4)

=  12 + 18 + 4 = 34

Common Mistake:

C(3,1) x C (6,3) = 3 x  20 = 60

Jika jawabannya seperti ini, berarti sudah dipastikan bahwa yang diajak adalah (1 laki-laki dan 3 perempuan), padahal bisa saja yang diajak adalah 2 laki-laki + 2 perempuan kan?

2. Terdapat 5 buah bola dan 3 buah kotak.

 a.      Jika setiap bola dapat dibedakan menjadi b1,b2,b3,b4,b5 dan setiap kotak dapat dibedakan menjadi k1, k2, k3, ada berapa cara untuk menempatkan 3 bola ke 3 kotak terebut? (masing-masing kotak berisi 1 bola)

Banyaknya cara menempatkan 3 bola ke 3 kotak = P(5,3) = 60 cara

b.      Jika semua bola tidak dapat dibedakan dan setiap kotak dapat dibedakan menjadi k1, k2, k3, ada berapa cara untuk menempatkan kelima bola ke 3 kotak tersebut?

Banyaknya cara menempatkan kelima bola ke 3 kotak tersebut = C (5+3-1,5) = 21 cara

c.       Jika semua bola tidak dapat dibedakan dan setiap kotak dapat dibedakan menjadi k1, k2, k3, ada berapa cara untuk menempatkan kelima bola ke dalam ketiga kotak tersebut agar setiap kotak terisi paling sedikit satu bola?

Banyaknya cara menempatkan kelima bola kedalam tiga kotak agar setiap kotak terisi paling sedikit 1 bola = C(2+3-1,2) = 6 cara

What is “this” ? Java OOP

3 Jun

Dalam setiap methods non static yang dipanggil lewat suatu objek, terdapat secara implicit suatu variable reference yang bernama “this”.

“this” menunjuk ke objek yang memanggil methods itu.
Contoh constructor yang memakai this:


public class Lingkaran {
public double x, y, r ; // pusat dan jari-jari
public Lingkaran (double x, double y, double r){
this.x = x; this.y = y; this.r = r;
public double luas() { return 3.14 * r * r; }
}

Contoh class Lingkaran dengan banyak constructor :


public class Lingkaran {
public double x, y, r;
public Lingkaran(double x, double y, double r){
this.x = x; this.y = y; this.r = r;
}
public Lingkaran (double r){
x = 0.0; y = 0.0; this.r = r;
}
public Lingkaran(Lingkaran lk){
x = lk.x; y=lk.y; r = lk.r;
}
public Lingkaran(){
x=0.0; y = 0.0; r = 1.0;
}
public double luas() { return 3.14*r*r; }
}

Pendefinisian class Lingkaran itu dapat disingkat dengan memakai this sebagai berikut:


public class Lingkaran {
public double x, y, r;
public Lingkaran(double x, double y, double r){
this.x = x; this.y = y; this.r = r;
}
public Lingkaran (double r){ this(0.0, 0.0, r); }
public Lingkaran(Lingkaran lk){ this(lk.x, lk.y, lk.r); }
public Lingkaran(){ this(0.0, 0.0, 1.0); }
public double luas() { return 3.14 * r * r; }
}

Pengunaan this untuk memanggil contructor lain seperti tadi harus muncul sebagai statement pertama dalam body constructor.

Solusi: Struktur Data dan Algoritma – Sortie si Pengurut Email

3 Jun

Deskripsi

Sortie adalah sebuah program yang akan dikembangkan untuk mengurutkan email seseorang. Sortie digunakan terutama untuk membantu orang-orang yang sibuk supaya terbantu dalam membaca email mereka. Diharapkan dengan menggunakan Sortie, orang-orang dapat lebih mudah dalam membaca email yang mereka anggap lebih penting untuk diproses. Setiap email yang diproses oleh Sortie memiliki nama pengirim, waktu, dan subjek email. Sortie memiliki cara kerja yang cukup fleksibel, karena memiliki fitur untuk mengurutkan email sesuai dengan permintaan dari pengguna Sortie. Cara kerja dari Sortie adalah sebagai berikut.

 Pada suatu saat, seorang pengguna Sortie hanya ingin melihat email yang diterimanya pada hari itu, jadi email yang akan diurutkan adalah email-email pada hari yang sama.
 Pengaturan urutan email dilakukan sesuai dengan permintaan pengguna. Ada tiga (3) mekanisme pengurutan email yang dapat dilakukan:

o Nama pengirim. Email dapat diurutkan berdasarkan nama pengirim yang dapat berupa sebuah String nama ataupun String email. Pengurutan berdasarkan nama pengirim email dilakukan berdasarkan abjad.
o Waktu. Email juga dapat diurutkan berdasarkan waktu ketika email diterima oleh pengguna Sortie.
o Subjek Email. Ketika melakukan pengurutan berdasarkan subjek email, maka pengurutan dilakukan berdasarkan abjad.

 Setiap kali melakukan pengurutan, pengguna dapat memberikan prioritas pengurutan yang diinginkan. Misalnya, apabila pengguna memutuskan untuk mengurutkan berdasarkan [nama pengirim, subjek, waktu], maka apabila ada email dari seorang pengirim yang sama, email akan diurutkan berdasarkan subjek, lalu jam.

Format Masukan

Masukan dibaca dari masukan standar. Masukan terdiri dari 2 bagian. Bagian pertama berisi mengenai keterangan prioritas pengurutan email. Bagian kedua berisi data-data email yang masuk di dalam kotak surat pengguna Sortie.

Bagian pertama terdiri dari satu baris string yang terdiri dari tiga buah kata yaitu “[prioritas] [prioritas] [prioritas]”, dimana prioritas menandakan jenis pengurutan yang ingin dilakukan, dan nilai dari ketiganya berbeda, terdiri atas [pengirim], [waktu], dan [subjek]. String menandakan prioritas urutan email yang diinginkan oleh pengguna Sortie.

Bagian kedua berisi data-data email yang masuk ke dalam inbox pengguna Sortie. Bagian ini terdiri dari beberapa baris informasi data-data email yang masuk. Setiap baris terdiri dari tiga bagian yaitu “[pengirim] [waktu] [subyek]”. Data inilah yang nantinya kemudian akan diolah kembali dan akan diurutkan sesuai keinginan pengguna Sortie.

Keterangan:
Dalam mengerjakan tugas ini, Anda sebagai tim pengembang aplikasi Sortie diminta menggunakan metode pengurutan merge sort untuk mengurutkan masukan email untuk Sortie (Anda diharuskan untuk melakukan implementasi merge sort pada masalah ini!). Merge sort diajukan karena memiliki running time yang tidak eksponensial sehingga resource yang digunakan oleh Sortie tidak akan terlalu besar.

Contoh masukan / input:

pengirim waktu subjek
ido@yahuu.com 11:22 laporan penjualan telor ayam
agung@yahuu.com 20:00 astaga!!!
ido@gahoel.com 11:22 saya mau kasih hadiah
mandala@ngemail.com 09:00 minta uang
adi@chanek.com 10:11 penting
agung@yahuu.com 20:03 tolong bantu saya

Contoh keluaran / output:

adi@chanek.com 10:11 penting
agung@yahuu.com 20:00 astaga!!!
agung@yahuu.com 20:03 tolong bantu saya
ido@gahoel.com 11:22 saya mau kasih hadiah
ido@yahuu.com 11:22 laporan penjualan telor ayam
mandala@ngemail.com 09:00 minta uang
Nah, berikut adalah solusi yang bisa kita buat:
import java.util.ArrayList;
import java.util.StringTokenizer;
import java.util.Comparator;
import java.util.Collections;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.io.IOException;

/**
Class SDA11111 merupakan class utama dalam program ini
*/
public class SDA11111 {
 /**
 * Method main bertipe static void merupakan method utama yang dipanggil untuk menjalankan program
 * Method ini akan menghandle exception yang mungkin terjadi melalui throws IOException
 * @param args yang bertipe array of String
 */
 public static void main(String args[]) throws IOException {
 //tuliskan program anda disini
 InputOutput io = new InputOutput(); // Membuat objek baru bertipe InputOutput bernama io
 io.bacaFile(); // Memanggil method baca File() pada objek io
 io.sort(); // Memanggil method sort() pada objek io
 io.cetakFile(); // Memanggil method cetakFile() pada objek io
 }
 //buatlah method tambahan yang diperlukan disini
}

/**
Class InputOutput merupakan class untuk menerima input, mengolah data, dan menghasilkan output
Class ini mengimplementasi Comparator yang akan digunakan untuk membandingkan email-email yang ada
*/
class InputOutput implements Comparator<Email> {
 ArrayList<Email> arr = new ArrayList<Email>();
 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
 String priority1, priority2, priority3;

 /**
 Method bacaFile() bertipe void digunakan untuk melakukan pembacaan file
 */
 public void bacaFile () {
 StringTokenizer input; // Variabel input bertipe StringTokenizer
 try {
 input = new StringTokenizer(br.readLine(), " ");
 priority1 = input.nextToken();
 priority2 = input.nextToken();
 priority3 = input.nextToken();
 while (br.ready()) {
 input = new StringTokenizer(br.readLine(), " ");
 String sender = input.nextToken();
 String clock = input.nextToken();
 String subject = input.nextToken();
 // Jika token lebih dari 3 bagian, akan ditambahkan di Subjek (sesuai soal)
 while (input.hasMoreTokens()) {
 subject += " ";
 subject += input.nextToken();
 }
 arr.add(new Email(sender, new Clock (clock), subject)); //Menambahkan Email baru ke ArrayList arr
 }
 }
 catch (IOException ioe) {}

 }

 /**
 Method sort() bertipe void dan bersifat public untuk melakukan pemanggilan method mergeSort bertipe private
 */
 public void sort () {
 mergeSort(0, arr.size() - 1); // Memanggil method mergeSort
 }

 /**
 * Method mergeSort
 * @param low
 * @param high
 */
 private void mergeSort (int low, int high) {
 if (low < high) {
 // Get the index of the element which is in the middle
 int middle = (low + high) / 2;
 // Sort the left side of the array
 mergeSort(low, middle);
 // Sort the right side of the array
 mergeSort(middle + 1, high);
 // Combine them both
 merge(low, middle, high);
 }
 }

 /**
 * Method merge
 * @param low
 * @param middle
 * @param high
 */
 private void merge (int low, int middle, int high) {
 ArrayList<Email> help = new ArrayList<Email>(arr.size());
 for(Email item: arr) help.add(item);

int i = low;
 int j = middle + 1;
 int k = low;
 // Copy the smallest values from either the left or the right side back
 // to the original array
 while (i <= middle && j <= high) {
 if (compare((help.get(i)), (help.get(j))) <= 0) {
 arr.set(k, help.get(i));
 i++;
 } else {
 arr.set(k, help.get(j));
 j++;
 }
 k++;
 }

 // Copy the rest of the left side of the array into the target array
 while (i <= middle) {
 arr.set(k, help.get(i));
 k++;
 i++;
 }
 help = null;
 }

 /**
 * Method compare merupakan method yang harus dioverride dari Interface Comparator
 * @param email1 bertipe Email
 * @param email2 bertipe Email
 * @return result bertipe int
 */
 public int compare (Email email1, Email email2){
 int result = 0;
 // Jika prioritas yang diinginkan pengguna berupa pengirim waktu subjek
 if ((priority1.startsWith("p")) && (priority2.startsWith("w")) && (priority3.startsWith ("s"))) {
 result = email1.getSender().compareTo(email2.getSender());
 if (result == 0) {
 result = email1.olahClock(email1.getClock()) - email2.olahClock(email2.getClock());
 if (result == 0) {
 result = email1.getSubject().compareTo(email2.getSubject());
 }
 }
 }
 // Jika prioritas yang diinginkan pengguna berupa pengirim subjek waktu
 else if ((priority1.startsWith("p")) && (priority2.startsWith("s")) && (priority3.startsWith ("w"))) {
 result = email1.getSender().compareTo(email2.getSender());
 if (result == 0) {
 result = email1.getSubject().compareTo(email2.getSubject());
 if (result == 0) {
 result = email1.olahClock(email1.getClock()) - email2.olahClock(email2.getClock());
 }
 }
 }
 // Jika prioritas yang diinginkan pengguna berupa subjek pengirim waktu
 else if ((priority1.startsWith("s")) && (priority2.startsWith("p")) && (priority3.startsWith ("w"))) {
 result = email1.getSubject().compareTo(email2.getSubject());
 if (result == 0) {
 result = email1.getSender().compareTo(email2.getSender());
 if (result == 0) {
 result = email1.olahClock(email1.getClock()) - email2.olahClock(email1.getClock());
 }
 }
 }
 // Jika prioritas yang diinginkan pengguna berupa subjek waktu pengirim
 else if ((priority1.startsWith("s")) && (priority2.startsWith("w")) && (priority3.startsWith ("p"))) {
 result = email1.getSubject().compareTo(email2.getSubject());
 if (result == 0) {
 result = email1.olahClock(email1.getClock()) - email2.olahClock(email2.getClock());
 if (result == 0) {
 result = email1.getSender().compareTo(email2.getSender());
 }
 }
 }
 // Jika prioritas yang diinginkan pengguna berupa waktu pengirim subjek
 else if ((priority1.startsWith("w")) && (priority2.startsWith("p")) && (priority3.startsWith ("s"))) {
 result = email1.olahClock(email1.getClock()) - email2.olahClock(email2.getClock());
 if (result == 0) {
 result = email1.getSender().compareTo(email2.getSender());
 if (result == 0) {
 result = email1.getSubject().compareTo(email2.getSubject());
 }
 }
 }
 // Jika prioritas yang diinginkan pengguna berupa waktu subjek pengirim
 else if ((priority1.startsWith("w")) && (priority2.startsWith("s")) && (priority3.startsWith ("p"))) {
 result = email1.olahClock(email1.getClock()) - email2.olahClock(email2.getClock());
 if (result == 0) {
 result = email1.getSubject().compareTo(email2.getSubject());
 if (result == 0) {
 result = email1.getSender().compareTo(email2.getSender());
 }
 }
 }

 return result;
 }
 /** Method cetakFile() untuk mencetak output */
 public void cetakFile () throws IOException{
 for(Email item: arr) {
 bw.write(""+item);
 bw.newLine();
 }
 bw.flush();
 bw.close();
 }

}

/**
Class Email merupakan class representasi dari objek Email
Class ini memiliki field berupa sender, subject, dan clock.
berturut-turut masing-masing field tersebut menandakan informasi mengenai
pengirim dari email, subject dari email, dan waktu dari email
*/
//notes : lakukan perubahan terhadap class ini jika perlu!!
class Email{
 private String sender;
 private String subject;
 private Clock clock;

 Email(String sender, Clock clock, String subject){
 this.sender = sender;
 this.clock = clock;
 this.subject = subject;
 }

 String getSender(){
 return sender;
 }

 void setSender(String sender){
 this.sender = sender;
 }

 String getSubject(){
 return subject;
 }

 void setSubject(String subject){
 this.subject = subject;
 }

 Clock getClock(){
 return clock;
 }

 void setClock(Clock clock){
 this.clock = clock;
 }

 /** Method olahClock digunakan untuk mengolah waktu dalam bentuk menit agar dapat dibandingkan pada untuk melakukan pengurutan
 * @param clock bertipe Clock
 * @return hasil bertipe int
 */
 int olahClock (Clock clock) {
 int hasil = clock.getHour()*60 + clock.getMinute();
 return hasil;
 }

 public String toString(){
 return sender + " " + clock + " " + subject;
 }
}
/**
Class Clock merupakan class representasi dari objek waktu (Clock)
Class ini memiliki field hour dan minute yang menandakan jam dan menit
*/
//notes : lakukan perubahan terhadap class ini jika perlu!!
class Clock{
 private Integer hour;
 private Integer minute;

 Clock(String time){
 StringTokenizer tok = new StringTokenizer(time, ":");
 hour = Integer.parseInt(tok.nextToken());
 minute = Integer.parseInt(tok.nextToken());
 }

 Integer getHour(){
 return hour;
 }

 void setHour(Integer hour){
 this.hour = hour;
 }

 Integer getMinute(){
 return minute;
 }

 void setMinute(Integer minute){
 this.minute = minute;
 }

 public String toString(){
 String out = "";
 if (hour < 10){
 out += "0" + hour;
 } else {
 out += hour;
 }
 out += ":";
 if (minute < 10) {
 out += "0" + minute;
 } else {
 out += minute;
 }
 return out;
 }
}

Ulasan singkat website terkait Web 2.0

3 Jun

http://www.housingmaps.com adalah website periklanan khusus perumahan yang dapat dibeli atau disewakan di kota-kota yang terletak di Amerika Serikat. Website ini merupakan perpaduan dari http://www.craiglist.org yang merupakan media iklan baris terbesar di dunia dengan penambahan fungsi dari Google Maps untuk mempermudah user memberitahukan lokasi mana yang ingin dicari iklan perumahannya.

http://www.secretprices.com adalah website yang bertujuan membantu penggunanya untuk menemukan promosi-promosi, kupon-kupon, diskon-diskon, dan penawaran menarik lainnya tentang barang-barang yang akan atau ingin dibeli. Website ini mendapatkan penawaran-penawaran menarik tersebut dari http://www.amazon.com, http://www.epinions.com, dan http://www.shopping.com.

http://www.chicagocrimecommission.org adalah website yang bertujuan untuk memberikan informasi kepada penggunanya tentang kejahatan-kejahatan yang terjadi di daerah Chicago, Amerika Serikat. Website ini memiliki misi untuk meningkatkan kualitas keamanan dan keadilan publik dengan visi melanjutkan operasinya melalui riset, kolaborasi, publikasi, program, kepemimpinan, dan advokasi dalam komunitasnya.

Double Click adalah bagian tambahan dari Google yang mengembangkan dan menyediakan jasa periklanan di dunia internet sebagai solusi untuk perusahaan yang melakukan jual beli secara online. Website ini membagi penggunanya dalam dua kategori, yakni advertiser atau pengiklan, dan publisher atau penampil iklan. Tujuan dari website ini adalah meningkatkan efektivitas periklanan bagi para pengiklan melalui berbagai macam strategi, seperti melalui video dan mobile.

Vibrant Media adalah website atau perusahaan yang bergerak di dunia periklanan kontekstual dengan menyediakan berbagai fasilitas atau cara beriklan melalui internet, seperti melalui informasi, video, dan berbagai hal yang relevan dengan iklan dari sang pengiklan. Sama seperti Double Click dari Google, Vibrant Media juga membagi penggunanya dalam dua kategori, yakni advertiser atau pengiklan, dan publisher atau penampil iklan.

Tribal Fusion adalah website atau perusahaan yang bergerak di bidang periklanan melalui internet untuk memasarkan berbagai macam produk. Sama seperti Double Click dari Google, Vibrant Media juga membagi penggunanya dalam dua kategori, yakni advertiser atau pengiklan, dan publisher atau penampil iklan.Tribal Fusion juga mengaku sebagai website yang lebih handal dalam bidang periklanan ini.