Bingung menentukan pilihan?

Saya harus menentukan pilihan setiap harinya.
Bahkan setiap waktu.
Ketika dihadapkan terhadap banyak pilihan, kadang saya merasa bingung menentukan pilihan mana yang terbaik.
Namun hari ini saya belajar, bahwa Tuhan tidak selalu memberikan kemampuan kepada saya untuk mengambil pilihan terbaik.
Tetapi Dia akan selalu memberikan kemampuan untuk “menentukan pilihan” dan kemudian “membetulkannya” dengan cara2 yang akan ada.

not the ability to always make the right decisions, but he always put in me the ability to “make” a decision and “make it right”

Bagian 3 – Percabangan IF

1. Buat algoritma yang meminta 1 inputan angka kemudian menentukan apakah angka lebih besar atau lebih kecil daripada 10

[sourcecode language=”delphi” wraplines=”true” collapse=”true”]
ALGORITMA ContohIF1

VAR
A : Integer

BEGIN
INPUT(A)

IF (A < 10) THEN
OUTPUT(‘nilai A lebih kecil dari 10’)
ELSE
IF A = 10 THEN
OUTPUT(‘nilai A adalah 10’)
ELSE
OUTPUT(‘nilai A lebih besar dari 10’)
END
[/sourcecode]

2. Buat algoritma yang meminta 1 inputan angka kemudian menentukan apakah angka tersebut ganjil atau genap
[sourcecode language=”delphi” wraplines=”true” collapse=”true”]
ALGORITMA GanjilGenap

VAR
A,B : Integer

BEGIN
INPUT(A)

IF (A MOD 2 = 0) THEN
OUTPUT(‘A adalah bilangan genap’)
ELSE
OUTPUT(‘A adalah bilangan ganjil’)

END
[/sourcecode]

3. Buat algoritma yang menerima input 3 bilangan kemudian menentukan bilangan mana yang paling besar
[sourcecode language=”delphi” wraplines=”true” collapse=”true”]
ALGORITMA Menentukan3Bilangan

VAR
in1, in2, in3 : Integer

BEGIN
INPUT(in1)
INPUT(in2)
INPUT(in3)

IF (in1 > in2) AND (in1 > in3) THEN
OUTPUT(in1)
ELSE
BEGIN
IF (in2 > in1) AND (in2 > in3) THEN
OUTPUT(in2)
ELSE
OUTPUT(IN3)
END

END
[/sourcecode]

4. Buat algoritma untuk menentukan lama bekerja seorang pegawai. Inputan adalah jam masuk dan jam pulang. Catatan: jam berupa angka 1-12, dan seorang pegawai bekerja kurang dari 12 jam.

Contoh:
Jam masuk: 10 (input oleh user)
Jam keluar: 12 (input oleh user)
Lama kerja: 2 jam (output dari algoritma)

Jam masuk: 11 (input oleh user)
Jam keluar: 3 (input oleh user)
Lama kerja: 4 jam (output dari algoritma)

[sourcecode language=”delphi” wraplines=”true” collapse=”true”]
ALGORITMA Lama_Bekerja
{jam berupa angka 1-12, dan seorang pegawai bekerja kurang dari 12 jam}

VAR
iMasuk, iKeluar, iLama: Integer

BEGIN
INPUT(iMasuk)
INPUT(iKeluar)

IF (iKeluar >= iMasuk) THEN
iLama <– iKeluar – iMasuk
ELSE
iLama <– (12-iMasuk) + iKeluar

OUTPUT(iLama)
END

[/sourcecode]

5. Tulis program untuk menentukan biaya parkir yang dihitung berdasarkan lama parkir. Lama parkir dihitung dari jam masuk dan jam keluar. Asumsi jam masuk dan keluar parkir berupa angka 1-12, dan lama parkir maksimal 12 jam. Biaya parkir 2 jam pertama 2000, perjam berikutnya 500.
Contoh Masukan dan keluaran:

Contoh:
Jam masuk: 10 (input oleh user)
Jam keluar: 11 (input oleh user)
Lama parkir: 1 jam
Biaya parkir: 2000 (output dari algoritma)

Jam masuk: 10 (input oleh user)
Jam keluar: 2 (input oleh user)
Lama parkir: 4 jam
Biaya Parkir: 3000 (output dari algoritma)

[sourcecode language=”delphi” wraplines=”true” collapse=”true”]
Algoritma Biaya_Parkir
{menghitung biaya parkir}

KAMUS DATA
iMasuk, iKeluar, iLama, iBiaya: Integer

BEGIN
Input(iMasuk)
Input(iKeluar)

If (iKeluar >= iMasuk) Then
iLama <– iKeluar – iMasuk
Else
iLama <– (12-iMasuk) + iKeluar

If (iLama > 2) Then
iBiaya <– 2000 + ((iLama – 2)*500)
else
iBiaya <– 2000

Output(iBiaya)
END

[/sourcecode]

6. Buat program menghitung selisih waktu (dalam jam dan menit) berdasarkan jam mulai (jam,menit) dengan jam selesai (jam,menit). Data yang diinput adalah jam dan menit mulai, jam dan menit selesai. Format jam yang dimasukkan bisa berupa format 12 jam ataupun 24jam.
Contoh Masukan dan keluaran:

if-percabangan1

[sourcecode language=”delphi” wraplines=”true” collapse=”true”]
ALGORITMA MENGHITUNG_JAM_MENIT
{Inputan iJamStart,iMenitStart, iJamStop, iMenitStop. Keluaran iJamDurasi, iMenitDurasi}

VAR
iJamStart,iMenitStart,iMenitStop,iJamStop: integer
iTotMenitStart,iTotMenitStop,iSelangMenit,iJamDurasi,iMenitDurasi: integer

BEGIN
Input(iJamStart)
Input(iMenitStart)

Input(iJamStop)
Input(iMenitStop)

iTotMenitStart <– iJamStart * 60 + iMenitStart
iTotMenitStop <– iJamStop * 60 + iMenitStop

If (iTotMenitStop >= iTotMenitStart) Then
iSelangMenit <– iTotMenitStop – iTotMenitStart
Else
iSelangMenit <– ((12*60)-iTotMenitStart) + iTotMenitStop

iJamDurasi <– iSelangMenit div 60
iMenitDurasi <– iSelangMenit mod 60

Output(iJamDurasi)
Output(iMenitDurasi)

END

[/sourcecode]

7.Buat program dengan masukan koordinat sebuah titik (x,y) dalam sebuah system koordinat kartesian, kemudian ditentukan di kuadran mana titik tersebut.
Contoh Masukan :
Koordinat titik (x,y) : 10 -20

Contoh keluaran:
Kuadran 4

[sourcecode language=”delphi” wraplines=”true” collapse=”true”]
ALGORITMA Menghitung_Kuadran

VAR
ix, iy: Integer

BEGIN
Input(ix,iy)

If (ix >= 0) Then
If (iy >=0) Then
Output(“Kuadran I”)
Else
Output(“Kuadran IV”)
Else
If (iy >=0) Then
Output(“Kuadran II”)
Else
Output(“Kuadran III”)
END

[/sourcecode]

8.Pemerintah hanya memberikan tunjangan anak dari PNS maksimal sampai 3 anak saja. Setiap anak diberikan tunjangan sebesar 10% dari gaji pokok.
Tulis program untuk menghitung total tunjangan anak, bila gaji pokok dan jumlah anak diinput oleh user.

if-percabangan8
[sourcecode language=”delphi” wraplines=”true” collapse=”true”]
ALGORITMA Menghitung_Tunjangan

VAR
iGajiPokok, iTunjangan, iJmlAnak: Integer

BEGIN

Input(iGajiPokok)
Input(iJmlAnak)

If (iJmlAnak <= 3) Then
iTunjangan <– iJmlAnak * 0.1 * iGajiPokok
Else
iTunjangan <– 3 * 0.1 * iGajiPokok

Output (iTunjangan)

END

[/sourcecode]

9. Sebuah acara wisata digunakan minibus kapasitas 7 penumpang per mobil. Apabila terjadi kelebihan penumpang (walaupun cuma 1), maka minibus yang digunakan ditambah 1. Tulis program untuk menghitung jumlah minibus yang diperlukan, bila jumlah pesertanya diinput:

if-percabangan9

[sourcecode language=”delphi” wraplines=”true” collapse=”true”]
ALGORITMA Menghitung_Tunjangan

VAR
iJmlPenumpang, iJmlMinibus : Integer

BEGIN
INPUT(iJmlPenumpang)

iJmlMinibus <– iJmlPenumpang DIV 7
iSisaPenumpang <– iJmlPenumpang MOD 7

IF (iSisaPenumpang <> 0) THEN
iJmlMinibus <– iJmlMinibus + 1

OUTPUT(iJmlMinibus)

//bagaimana mengatasi inputan minus?

END

[/sourcecode]

Alpro Bagian 2 – Operator dan Runutan

1. Buatlah algoritma dan program yang memasukkan dua buah nilai integer 10 dan 6. Kemudian melakukan operasi Aritmetika kepada dua buah bilangan tersebut
Algoritma:

[sourcecode language=”delphi” wraplines=”true” collapse=”true”]
ALGORITMA 1Aritmatika
{ Buat program yang menggunakan operator aritmetika
+ – * div mod pada bilangan bulat}

VAR
BilanganBulat1: Integer
BilanganBulat2: Integer
HasilBilanganBulat: Integer

BEGIN
BilanganBulat1 <– 10
BilanganBulat2 <– 6

OUTPUT(BilanganBulat1)
OUTPUT(BilanganBulat2)

HasilBilanganBulat <– BilanganBulat1 + BilanganBulat2
OUTPUT(HasilBilanganBulat)

HasilBilanganBulat <– BilanganBulat1 – BilanganBulat2
OUTPUT(HasilBilanganBulat)

HasilBilanganBulat <– BilanganBulat1 div BilanganBulat2
OUTPUT(HasilBilanganBulat)

HasilBilanganBulat <– BilanganBulat1 * BilanganBulat2
OUTPUT(HasilBilanganBulat)

HasilBilanganBulat <– BilanganBulat1 mod BilanganBulat2
OUTPUT(HasilBilanganBulat)

END
[/sourcecode]

Pascal:

[sourcecode language=”delphi” wraplines=”true” collapse=”true”]
PROGRAM 1Aritmatika;</pre>
<pre>{ Buat program yang menggunakan operator aritmetika
+ – * div mod pada bilangan bulat }

USES crt;

VAR
BilanganBulat1: Integer;
BilanganBulat2: Integer;
HasilBilanganBulat: Integer;

BEGIN
CLRSCR;
BilanganBulat1 := 10;
BilanganBulat2 := 6;

WRITELN(‘BilanganBulat1: ‘,BilanganBulat1);
WRITELN(‘BilanganBulat2: ‘,BilanganBulat2);

HasilBilanganBulat := BilanganBulat1 + BilanganBulat2;
WRITELN(‘Hasil Penambahan kedua bilangan: ‘,HasilBilanganBulat);

HasilBilanganBulat := BilanganBulat1 – BilanganBulat2;
WRITELN(‘Hasil bilangan1 dikurangi bilangan2: ‘,HasilBilanganBulat);

HasilBilanganBulat := BilanganBulat1 div BilanganBulat2;
WRITELN(‘Hasil bilangan1 dibagi bilangan2: ‘,HasilBilanganBulat);

HasilBilanganBulat := BilanganBulat1 * BilanganBulat2;
WRITELN(‘Hasil Perkalian kedua bilangan: ‘,HasilBilanganBulat);

HasilBilanganBulat := BilanganBulat1 mod BilanganBulat2;
WRITELN(‘Sisa pembagian modulo bilangan1 dibagi bilangan2 : ‘,HasilBilanganBulat);

READLN;

END.
[/sourcecode]

2. Buatlah algoritma yang menerima inputan dua buah bilangan bulat, kemudian tunjukkan contoh penggunaan operator relasional dan logika

[sourcecode language=”delphi” wraplines=”true” collapse=”true”]
ALGORITMA RelasionalLogika
{ Buat algoritma yang menggunakan operator relasional dan logika }

VAR
in1, in2, in3 : Integer
bool1, bool2 : Boolean

BEGIN

in1 <– 15
in2 <– 19

OUTPUT(‘nilai in1 : ‘,in1)
OUTPUT(‘nilai in2 : ‘,in2)

bool1 <– in1 < in2
OUTPUT(‘in1 lebih kecil daripada in2 ‘,bool1)

bool1 <– in1 > in2
OUTPUT(‘in1 lebih besar daripada in2 ‘,bool1)

bool2 <– (in1 = in2) AND (in1 < in2)
OUTPUT(‘(in1 = in2) AND (in1 < in2) bernilai ‘,bool2)

bool2 <– (in2 = in1) OR (in2 > in1)
OUTPUT(‘(in2 = in1) OR (in2 > in1) bernilai’,bool2)

END
[/sourcecode]

3. Buat algoritma yang menerima inputan jarak tempuh dan kecepatan, kemudian meng-outputkan waktu yang dibutuhkan untuk menempuhnya

[sourcecode language=”delphi” wraplines=”true” collapse=”true”]
ALGORITMA MenghitungKecepatan
{ Buat algoritma yang menerima inputan jarak tempuh dan kecepatan
kemudian meng-outputkan waktu yang dibutuhkan untuk menempuhnya
}

VAR
iJarak,iKecepatan, iWaktu: Real

BEGIN

OUTPUT(‘Masukkan jarak yg akan ditempuh (dalam km): ‘)
INPUT(iJarak)
OUTPUT(‘Masukkan kecepatan kendaraan (dalam km/jam): ‘)
INPUT(iKecepatan)

iWaktu = iJarak DIV iKecepatan

OUTPUT(iWaktu)

END

[/sourcecode]

4. Buatlah algoritma untuk menghitung luas segitiga

[sourcecode language=”delphi” wraplines=”true” collapse=”true”]
ALGORITMA MenghitungLuasSegitiga
{algoritma yang menerima inputan alas dan tinggi untuk menghitung luas segitiga}

VAR
fAlas, fTinggi, fLuas: Real

BEGIN
OUTPUT(‘Masukkan Alas: ‘)
INPUT(fAlas)

OUTPUT(‘Masukkan Tinggi: ‘)
INPUT(fTinggi)

fLuas = 0.5 * fAlas * fTinggi

OUTPUT(‘Luas segitiga adalah:’)
OUTPUT(fLuas)

END

[/sourcecode]

5. Buat algoritma yang meminta inputan 5 buah jari-jari kemudian meng-outputkan luas lingkaran

[sourcecode language=”delphi” wraplines=”true” collapse=”true”]
ALGORITMA Luas5Lingkaran
{Algoritma yang menerima inputan 5 buah jari-jari kemudian mengoutputkan luas 5 buah lingkaran tersebut}

VAR
fR1, fR2, fR3, fR4, fR5: REAL
fLuas1, fLuas2, fLuas3, fLuas4, fLuas5: REAL

BEGIN

OUTPUT(‘Masukkan jari-jari lingkaran 1: ‘)
INPUT(fR1)
OUTPUT(‘Masukkan jari-jari lingkaran 2: ‘)
INPUT(fR2)
OUTPUT(‘Masukkan jari-jari lingkaran 3: ‘)
INPUT(fR3)
OUTPUT(‘Masukkan jari-jari lingkaran 4: ‘)
INPUT(fR4)
OUTPUT(‘Masukkan jari-jari lingkaran 5: ‘)
INPUT(fR5)

fLuas1 = 3.14 * fR1 * fR1
fLuas2 = 3.14 * fR2 * fR2
fLuas3 = 3.14 * fR3 * fR3
fLuas4 = 3.14 * fR4 * fR4
fLuas5 = 3.14 * fR5 * fR5

OUTPUT(‘ Luas lingkaran 1 : fLuas1)
OUTPUT(‘ Luas lingkaran 2 : fLuas2)
OUTPUT(‘ Luas lingkaran 3 : fLuas3)
OUTPUT(‘ Luas lingkaran 4 : fLuas4)
OUTPUT(‘ Luas lingkaran 5 : fLuas5)

END
[/sourcecode]

6. Buat algoritma yang menukarkan kedua buah isi gelas

[sourcecode language=”delphi” wraplines=”true” collapse=”true”]

ALGORITMA TukarGelas
{membuat algoritma tukar gelas Kopi Areng dan Jamu Sido Muncul
berikan ilustrasinya dulu, buat tabel dry run, lalu buat algoritmanya}

VAR
gelas1 : String
gelas2 : String
gelas3 : String
BEGIN ALGORITMA
//pertama gelas diisi teh dan sirup
gelas1 <– "Kopi Areng"
gelas2 <– "Jamu Sido Muncul"

//pada state awal apa isi gelas1 dan gelas2 adalah
OUTPUT(gelas1)
OUTPUT(gelas2)

//proses: tukarkan isi gelas teh dan sirup
gelas3 <– gelas1
gelas1 <– gelas2
gelas2 <– gelas3

//pada state akhir, apa isi gelas1, gelas2 ?
OUTPUT(gelas1)
OUTPUT(gelas2)
END ALGORITMA

[/sourcecode]

7. Tabel Dry Run dan Sequence
tabel-dryrun

8. Buat Tabel Dry Run atau langkah2 dari game priests and cannibals crossing the river
game bisa di download di sini

Alpro Bagian 1 – Tipe data, Variabel, Konstanta, Assignment

1. Bagaimana menuliskan kamus data dalam algoritma beserta contoh tipe data dari variabel?
[sourcecode language=”delphi” wraplines=”false” collapse=”false”]
DEKLARASI/VAR/KAMUS DATA
VarNama : String
VarUmur : Integer
VarTargetIPK : Real
VarJomblo : Boolean
VarTargetNilaiAlpro : Character
[/sourcecode] 

2. Bagaimana algoritma untuk memerintahkan komputer menampilkan teks ke layar monitor?
[sourcecode language=”delphi” wraplines=”true” collapse=”false”]
OUTPUT(“Work Hard! Success come through ideas and lots of action!”)
[/sourcecode] 

3. Bagaimana algoritma untuk memasukan nilai ke dalam sebuah variabel?
[sourcecode language=”delphi” wraplines=”false” collapse=”false”]
INPUT(VarNama)
[/sourcecode] 

4. Bagaimana algoritma untuk memerintahkan komputer menampilkan nilai dari sebuah variabel ke layar monitor?
[sourcecode language=”delphi” wraplines=”false” collapse=”false”]
OUTPUT(VarNama)
[/sourcecode] 

5. Buatlah contoh algoritma sebagai berikut:

  • Mempunyai 5 variabel yaitu VarNama : String, VarUmur : Integer, VarTargetIPK : Real, VarJomblo : Boolean, VarTargetNilaiAlpro : Character
  • Mempunyai 1 konstanta bernama KonsTempatTanggalLahir yang bertipe data string
  • Algoritma tersebut akan mengisikan nilai-nilai ke dalam variabel, kemudian menampilkannya ke layar

[sourcecode language=”delphi” wraplines=”true” collapse=”false”]
ALGORITMA Contoh1;
{*Menjelaskan tentang Variabel, Konstanta, Tipe Data, Assignment dan Output*}

DEKLARASI/VAR/KAMUS DATA
VarNama : String
VarUmur : Integer
VarTargetIPK : Real
VarJomblo : Boolean
VarTargetNilaiAlpro : Character

KONSTANTA
KonsTempatTanggalLahir : String ”Sumedang, 28-Agustus-1960”

BEGIN
VarNama <– “Awan Rimbawan”
VarUmur <– 54
VarTargetIPK <– 3.99
VarJomblo <– FALSE
VarTargetNilaiAlpro <– ’A’

OUTPUT(“Ini adalah data tentang Awan Rimbawan”)
OUTPUT(VarNama)
OUTPUT(VarUmur)
OUTPUT(VarTargetIPK)
OUTPUT(VarJomblo)
OUTPUT(KonstTempatTanggalLahir)
END
[/sourcecode] 

6. Buatlah contoh algoritma sebagai berikut:

  • Mempunyai 5 variabel yaitu VarNama : String, VarUmur : Integer, VarTargetIPK : Real, VarJomblo : Boolean, VarTargetNilaiAlpro : Character
  • Algoritma tersebut akan memasukkan nilai-nilai ke dalam variabel, kemudian memasukkannya ke layar
  • Lalu dimasukkan nilai-nilai berikutnya dan ditampilkan kembali ke layar

[sourcecode language=”delphi” wraplines=”true” collapse=”false”]
ALGORITMA Contoh2;
{*Sama seperti sebelumnya, tetapi bagaimana jika ditambahkan assignment baru dan di outputkan lagi?*}

DEKLARASI/VAR/KAMUS DATA
VarNama : String
VarUmur : Integer
VarTargetIPK : Real
VarJomblo : Boolean
VarTargetNilaiAlpro : Character

KONSTANTA
KonsTempatTanggalLahirSibutar : String <–”Sitoli,13-Jan-1964”
KonsTempatTanggalLahirAmanda : String <–”B.Aceh, 7-Feb-1992”

BEGIN
VarNama <– “Sibutar-butar”
VarUmur <– 50
VarTargetIPK <– 4.00
VarJomblo : TRUE
VarTargetNilaiAlpro <– ’AB’

OUTPUT(“Ini adalah data tentang Sibutar-butar”)
OUTPUT(VarNama)
OUTPUT(VarUmur)
OUTPUT(VarTargetIPK)
OUTPUT(VarJomblo)
OUTPUT(KonsTempatTanggalLahirSibutar)

VarNama <– “Amanda Larashati”
VarUmur <– 22
VarTargetIPK <– 3.75
VarJomblo : TRUE
VarTargetNilaiAlpro <– ’C’

OUTPUT(“Ini adalah data tentang Amanda”)
OUTPUT(VarNama)
OUTPUT(VarUmur)
OUTPUT(VarTargetIPK)
OUTPUT(VarJomblo)
OUTPUT(KonsTempatTanggalLahirAmanda)

END

[/sourcecode] 

7. Buatlah sebuah algoritma yang bisa menerima inputan dari keyboard kemudian menampilkannya ke layar.

[sourcecode language=”delphi” wraplines=”false” collapse=”false”]
ALGORITMA Contoh3;
{*contoh input dan output*}

VAR
VarNama: String
VarNilai: Char

BEGIN
OUTPUT(‘Masukkan nama: ‘)
INPUT(VarNama)
OUTPUT( ‘Masukkan nilai: ‘)
INPUT(Varnilai)
OUTPUT(‘Nama: ‘ , VarNama)
OUTPUT(‘Nilai: ‘, Varnilai)
END.
[/sourcecode]

Tutur Sang Mentari: Asal Dari Kebingungan

Pagi ini Mentari berbicara kepadaku:

Awan, diam dan perhatikanlah dari mana kebingungan muncul…

Engkau punya suatu gambaran di masa depan yang ingin engkau capai.
Engkau tidak tahu bagaimana cara mencapainya.
Engkaupun bingung…

Engkau punya gambaran di masa lalu, yang tidak ingin engkau alami lagi.
Engkau pun mencoba menghindarinya.
Engkau tidak tahu caranya, dan kau pun bingung…

Tetapi jika engkau diam, berada di saat ini…
Tanpa gambaran tentang masa depan dan masa lalu.
Bisakah engkau bingung?
Bisakah engkau berkata “aku tidak tahu apa yang harus aku lakukan”
Coba renungkanlah…
Engkau bernafas, engkau duduk/berdiri, engkau tahu tanganmu diletakkan di mana, kakimu berpijak kemana.
Di saat ini, engkau selalu tahu apa yang perlu kau lakukan.
Di saat ini, engkau selalu punya lebih dari apa yang kau butuhkan.
Dan jika kau diam dan sadar, maka engkau akan mengerti bahwa saat ini…hanya saat inilah engkau hidup.
Bukan di masa depan, maupun di masa lalu…

————–
Pelajaran dari seseorang yang dekat:
– Lebih baik makan sedikit daripada tidak sama sekali
– Lebih baik olahraga sedikit daripada tidak sama sekali
– Lebih baik menulis sedikit daripada tidak sama sekali
– Karena yang sedikit, akan jauh lebih baik daripada tidak sama sekali 🙂

Quotes of the day

“Money only appeals to selfishness and always irresistibly tempts its owner to abuse it. Can anyone imagine Moses, Jesus or Gandhi with the moneybags of Carnegie?” – Albert Einstein

“The fruits of a fulfilling life—happiness, confidence, enthusiasm, purpose, and money—are mainly by-products of doing something we enjoy, with excellence, rather than things we can seek directly.”
— Dan Miller

“Many men go fishing all of their lives without knowing that it is not fish they are after.” – Henry David Thoreau

“What is success? To laugh often and much; to win the respect of intelligent people and the affection of children; to earn the appreciation of honest critics and endure the betrayal of false friends; to appreciate beauty; to find the best in others; to leave the world a better place than we found it, whether by a healthy child, a garden patch or a redeemed social condition; to know even one life has breathed easier because you have lived. This is to have succeeded.”
– Ralph Waldo Emerson

Cara Simple Untuk Jadi Kaya

Kemarin, pada sesi sore bertemu Mentari yang sedang tenggelam.
Aku mendapatkan pelajaran lagi.

Kata Mentari, untuk jadi kaya itu sangat simple.
Cukup melakukan dua hal:
1. Bersyukur
2. Membantu orang lain

Aku pun terdiam mendengar kata-kata itu…
Dan kebahagiaan pun merambat hangat, diiringi pancaran Mentari yang indah tenggelam di ufuk barat…

Terima kasih Sang Mentari, Terima kasih Tuhan 🙂

Super Kaya dan Super Miskin

Pagi ini Mentari bertanya kepadaku…

“Awan, kalau saat ini kamu jadi super kaya dan tidak perlu melakukan apapun untuk mencari uang apa yang akan kamu kerjakan?”

“Kamu tidak perlu bekerja untuk mencari uang, kamu tidak perlu melakukan apapun untuk mencari uang. Uang di bank sudah tersedia, bahkan kamu punya sistem yang otomatis menambah rekening bank mu. Sistem ini juga akan berjalan selamanya sejak saat ini sampai kamu meninggal. Apa yang akan kamu kerjakan?”

Pertanyaan itu membuatku terdiam.

Jelas bukan pertanyaan yang bisa dijawab dengan seketika.

Aku berpikir… mungkin aku akan membeli mobil yang bagus, membeli rumah yang mewah… membeli apapun yang aku butuhkan dan aku inginkan. Tetapi dalam pengalamanku, kepemilikan atas sesuatu tidak memberikan kebahagiaan yang bertahan lama. Seperti permen yang manis, namun cepat saja hilang dan kadang malah mengakibatkan gigi rusak.

Bertamasya keliling dunia? Mungkin saja… tetapi capek juga bertamasya terus2an. Dulu waktu aku jadi backpacker keliling ke pulau2 yang eksotis dan kota2 yang tidak pernah aku singgahi juga lama2 ada titik jenuhnya.

Lalu apa yang akan aku lakukan?

Aku merenung lebih dalam lagi…

Kemudian sebuah bayangan yang singgah adalah aku di dalam sebuah ruangan. Dikelilingi oleh rak-rak tinggi yang penuh berisi buku. Aku duduk di sebuah meja, dan menulis. Ada tumpukan buku di meja itu, yang mungkin beberapa waktu yang lalu aku baca.

Sepertinya, yang akan aku lakukan adalah… belajar dan mencipta.

Belajar dari luar diri: buku, orang-orang, film, musik, travelling
Belajar dari dalam diri: meditasi, sholat, zikir

Kemudian menciptakan sesuatu yang bermanfaat bagi orang lain.
Sesuatu yang membantu orang lain memecahkan masalah yang sedang mereka hadapi.
Sesuatu yang membantu orang lain berkembang dalam hidupnya.

Ketika aku sedang asyik mengeksplorasi bayangan itu, Mentari tiba2 meluncurkan pertanyaan kedua.

“Awan, ayo kita coba skenario lain. Andaikan saja hidup mentakdirkanmu menjadi orang miskin. Seumur hidupmu kamu tidak akan pernah mendapatkan uang lebih dari yang kamu butuhkan. Kamu akan selalu bisa hidup, sampai saatnya kamu mati. Tetapi kamu akan terus tidak punya uang lebih selain cuma membiayai hidupmu secara biasa2 saja. Apa yang akan kamu lakukan?”

Pertanyaan itu membuatku tersentak…
Tampak menakutkan.
Lagipula selama ini di otakku banyak terdapat dogma2 bahwa uang akan memudahkan hidup.
Tetapi bagaimana kalau ada skenario seperti itu?
Selamanya miskin sampai mati…

Hei, bukankah itu berarti aku tidak perlu mengkhawatirkan uang? Sama seperti skenario dimana aku akan menjadi super kaya ?
Bukankah kedua skenario itu sama saja? aku akan punya cukup untuk hidup, sampai akhirnya aku mati? Bukankah semua kondisi sama saja? Aku akan hidup, sampai aku mati.

Dan sepertinya… bayanganku akan tetap sama…
Aku, berada di sebuah ruangan penuh rak buku.
Membaca dan menulis.
Belajar dan mencipta…

Bagaimana dengan kamu kawan? Apa jawabanmu?