Transportasi Jatinangor – Pemalang

Jatinangor merupakan sebuah kecamatan yang berada di wilayah Kabupaten Sumedang, Jawa Barat. Kita mungkin lebih mengenal Jatinangor karena di sini terdapat kampus IPDN (dulu STPDN). Selain IPDN, masih ada dua kampus lain yaitu ITB dan Unpad yang juga memiliki gedung di sini.

Saat ini saya sedang kuliah di salah satu dari ketiga universitas tersebut di atas. Mengingat jaraknya yang terlalu jauh dari tempat tinggal saya, Pemalang, maka saya sering melakukan perjalanan Jatinangor – Pemalang satu minggu atau dua minggu sekali. Berikut ini adalah beberapa alternatif transportasi yang dapat digunakan untuk menempuh perjalanan dari Jatinangor – Pemalang atau sebaliknya.

Travel Andis

Travel ini merupakan travel yang melayani perjalanan dari Bandung ke Cirebon, Indramayu, Tegal dan Pekalongan. Travel yang digunakan untuk tujuan Pemalang adalah Travel Bandung – Pekalongan. Tarif Bandung – Pekalongan adalah 140.000 rupiah dan ada kemungkinan untuk mendapatkan tiket perjalanan gratis jika kita sudah mengumpulkan 10 tiket dengan atas nama yang sama. Travel ini berangkat dari Jatinangor malam hari sekitar pukul 9-10 malam dan sampai Pemalang sekitar jam 3 pagi. Sedangkan dari Pemalang, travel ini berangkat sekitar pukul 8-10 malam dan sampai Jatinangor sekitar pukul 3-4 pagi.

Bus Goodwill

Saya baru pernah menggunakan bus ini untuk pulang dari Jatinangor – Pemalang. Bus ini sebenarnya adalah bus jurusan Bandung – Tegal – Purwokerto pp. Namun, saya sering menggunakan bus ini karena biaya yang terhitung murah (50.000,-) dan waktu tempuh yang cepat (+-5 jam). Bus yang sering saya naiki adalah bus yang lewat Jatinangor sekitar jam 8 malam dan sampai di Tegal kira-kira pukul 1 dini hari. Untuk melanjutkan perjalanan dari Tegal ke Pemalang dapat menggunakan bus kecil jurusan Tegal – Randungdongkal (turun di terminal Pemalang) atau dapat juga menggunakan bus dari Jakarta (walaupun ini agak sulit karena aturan dari PO bus jurusan Jakarta tidak membolehkan untuk menaikkan penumpang di tengah perjalanan).

Bus Bandung Express

Bus ini berangkat dari Pemalang mulai jam 10/11 malam sampai jam 3 pagi. Saya pernah menggunakan bus yang berangkat jam setengah 11 dan sampai Jatinangor sekitar pukul 4 pagi. Lumayan cepat karena bus ini tidak berhenti di rumah makan/terminal lainnya. Tarif bus ini dari Pemalang adalah Rp 110.000,-

suichal signature

Operasi kalkulator sederhana dengan C

Berikut ini adalah kode program C untuk operasi kalkulator sederhana meliputi: penjumlahan, perkalian, pembagian, modulo, pangkat, faktorial, eksponen, dan cosinus. Program ini dibuat dengan menggunakan tools CodeBlocks. Simpan file dalam ekstensi *.c.

/*
IDENTIFIKASI MASALAH
Membuat kalkulator sederhana untuk menghitung operasi matematika meliputi:
1. Penjumlahan
2. Perkalian
3. Pembagian
4. Modulo
5. Pangkat
6. Faktorial
7. Eksponen
8. Cosinus
ANALISIS
Input:
- penjumlahan, perkalian, pembagian, modulo:
bilangan ke-1 dan bilangan ke-2; nama variabel: bil1 dan bil2
tipe data: float,
- pangkat
bilangan-1 (yang dipangkatkan) dan bilangan-2(pangkat bilangan); nama variabel:bil1 dan bil2
tipe data: float
- faktorial
bilangan-1 (yang akan dihitung faktorial-nya); nama variabel: bil1
tipe data: float
- eksponen
- bilangan-1 yang akan dihitung nilai eksponennya; nama variabel: bil1; tipe data: float
- iterasi yang dilakukan; nama variabel: iter; tipe data: float
- cosinus
- bilangan yang akan dihitung nilai cos-nya (berupa inputan derajat); nama variabel: xdeg; tipe data: float
- bilangan hasil konversi dari degree ke radian; nama variabel: xrad; tipe data: float
- iterasi yang dilakukan; nama variabel: iter; tipe data: float

Proses
- penjumlahan
- input bilangan 1 dan 2
- hitung hasil penjumlahan dengan rumus : bil1 + bil2
- tampilkan hasil penjumlahan
- perkalian
- input bilangan 1 dan 2
- hitung hasil perkalian dengan rumus : bil1 * bil2
- tampilkan hasil perkalian
- pembagian
- input bilangan 1 dan 2
- hitung hasil pembagian dengan rumus : bil1 / bil2
- tampilkan hasil pembagian
- modulo
- input bilangan 1 dan 2
- hitung hasil perhitungan modulo dengan rumus : bil1 % bil2
- tampilkan hasil perhitungan modulo
- pangkat
- input bilangan yang akan dipangkatkan
- input pangkat
- hitung nilai pangkat dengan rumus: bil1^bil2
- tampilkan hasil pangkat
- faktorial
- input bilangan
- hitung hasil faktorial dengan rumus: n! = 1 * 2 * 3 * ... * (n-1) * n
- tampilkan hasil faktorial
- eksponen
Rumus : e^x = x^0/0! + x^1/1! + x^2/2! + x^3/3! + ... + x^n/n!
Proses:
- Definisikan batas iterasi (iter)
- input bilangan (bil1)
- hitung bil1^n
- hitung faktorial dari bilangan: bil1!
- hitung result, yaitu hasil pembagian x^2/n!
- jumlahkan hasil result sebelumnya dengan result sekarang
- Lakukan iterasi untuk nilai n berikutnya sampai dengan batas iterasi
- Tampilkan hasil eksponen

- cosinus
- Definisikan batas iterasi (iter)
- Definisikan nilai pi = 3,1415927
- Inputkan bilangan (derajat) yang akan dihitung nilai cosnya
- konversi bilangan derajat menjadi radian dengan rumus: radian = derajat*(pi/180)
- hitung nilai cosinus dengan rumus:
cos x = x - x^2/2! + x^4/4! - x^6/6! + ...
= (E (-1)^n/(2n)!) * x^2n--->E = sigma (penjumlahan)
- tampilkan hasil cosinus

Output:
Output ditampilkan sesuai dengan operasi yang dipilih oleh user
- hasil penjumlahan, perkalian, pembagian, modulo, pangkat, faktorial; nama variabel: hasil; tipe data: float
- hasil eksponen; nama variabel: ex; tipe data: float
- hasil cosinus; nama variabel: cos; tipe data: float

- Desain algoritma:
- Program menampilkan pilihan operasi
- user memilih operasi
- jika operasi yang dipilih adalah operasi penjumlahan, perkalian, pembagian, modulo, pangkat, faktorial, eksponen, cosinus:
program melakukan operasi sesuai pilihan operasi dari user dan menampilkan hasil perhitungan
- jika input pilihan operasi tidak ada, program menampilkan peringatan dan menampilkan kembali pilihan operasi
- jika operasi yang dipilih adalah keluar, program mengakhiri program kalkulator dan dapat keluar dari jendela command prompt

*/

#define iterasi 20; // definisi iterasi yang dilakukan
#define pi 3,1415927; // definisi nilai pi

#include

/* Prototype Fungsi*/
float jumlah(float,float); //menghitung penjumlahan
float kali(float,float); //menghitung perkalian
float bagi(float,float); //menghitung pembagian
int modulo(int,int); //menghitung modulo
float hitungpangkat(float,float); //menghitung pangkat
float hitungfaktorial(float); //menghitung faktorial

int main(void)
{
//Deklarasi variabel
float bil1,bil2; // menampung inputan bilangan dari user
float hasil; // menampung hasil operasi penjumlahan, perkalian, pembagian, modulo, pangkat, dan faktorial
int operasi; // jenis operasi yang dilakukan
int iter; // untuk iterasi pada eksponen dan cosinus
float phi; // menampung nilai pi
float hasilpangkat; // menampung hasil pangkat
float hasilfaktorial; // menghitung hasil faktorial
float result; // menampung hasil pembagian hasil pangkat/hasil faktorial pada eksponen
float xdeg; // menampung inputan derajat
float xrad; // menampung konversi dari derajat ke radian
float ex; // menampung hasil eksponen
float cos; // menampung hasil cosinus

int n; // untuk iterasi perhitungan eksponen

ex = 0; // inisialiasi nilai eksponen
cos = 0; // inisialiasi nilai cosinus
iter = iterasi; // assign nilai dari define iterasi
phi = pi; // assign nilai dari define pi

while(1)
{
/* Menampilkan pilihan operasi yang dilakukan */
printf("PROGRAM KALKULATOR OPERASI MATEKAMATIKA SEDERHANA ");
printf("\n\nPilih Jenis Operasi yang dilakukan: ");
printf("\n1. Penjumlahan ");
printf("\n2. Perkalian ");
printf("\n3. Pembagian ");
printf("\n4. Modulo ");
printf("\n5. Pangkat ");
printf("\n6. Faktorial ");
printf("\n7. Eksponen ");
printf("\n8. Cosinus");
printf("\n9. Keluar dari layar");
printf("\nPilih jenis operasi yang akan dilakukan: ");
scanf("%d",&operasi);
printf("\nOperasi yang dipilih adalah: %d\n",operasi);

if (operasi==1||operasi==2||operasi==3||operasi==4) //untuk operasi penjumlah, perkalian, pembagian, dan modulo disatukan karena punya 2 input bilangan
{
/* start of input bilangan */
printf("\nMasukkan bilangan pertama: ");
scanf("%f",&bil1);
printf("\nMasukkan bilangan kedua: ");
scanf("%f",&bil2);
/* end of input bilangan */

switch (operasi)
{
case 1: // jika pilihan = 1, lakukan operasi penjumlahan dengan rumus bil1+bil2
hasil = jumlah(bil1,bil2); // operasi penjumlahan
printf("\n%.2f + %.2f = %.2f\n\n",bil1,bil2,hasil); //tampilkan hasil penjumalahn
break;
case 2: // jika pilihan = 2, lakukan operasi penjumlahan dengan rumus bil1 * bil2
hasil = kali(bil1,bil2); // operasi perkalian
printf("\n%.2f * %.2f = %.2f\n\n",bil1,bil2,hasil); // tampilkan hasil perkalian
break;
case 3: // jika pilihan = 3, lakukan operasi penjumlahan dengan rumus bil1 / bil2
hasil = bagi(bil1,bil2); // operasi pembagian
printf("\n%.2f / %.2f = %.2f\n\n",bil1,bil2,hasil); // tampilkan hasil pembagian
break;
case 4: // jika pilihan = 4, lakukan operasi modulo dengna rumus bil1 % bil2
hasil = modulo((int)bil1,(int)bil2); // operasi modulo
printf("\n%.2f mod %.2f = %.2f\n\n",bil1,bil2,hasil); // tampilkan hasil modulo
break;
}

}
else if (operasi==5) // jika pilihan = 5, lakukan operasi pangkat dengan rumus bil^n
{
printf("\nMasukkan bilangan: "); // input bilangan yang akan dipangkatkan
scanf("%f",&bil1);
printf("\nMasukkan pangkat: "); // input pangkat
scanf("%f",&bil2);
hasil = hitungpangkat(bil1,bil2); // operasi pangkat
printf("\n%.2f ^ %.2f = %.2f\n\n",bil1,bil2,hasil); // tampilkan hasil pangkat
}
else if (operasi==6) // jika pilihan = 6, lakukan operasi faktorial
{
printf("\nMasukkan bilangan: "); // input bilangan yang akan dicari nilai faktorialnya
scanf("%f",&bil1);
hasil = hitungfaktorial(bil1); // operasi perhitungan faktorial
printf("\n%.0f!= %.2f\n\n",bil1,hasil); // tampilkan hasil perhitungan faktorial
}
else if (operasi==7) // jika pilihan = 7, lakukan operasi eksponensial
{
printf("\nMasukkan bilangan: "); // input bilangan
scanf("%f",&bil1);
for (n=0;n<=iter;n++) // iterasi untuk menghitung nilai eksponensial
{
hasilpangkat = hitungpangkat(bil1,n); // menghitung nilai pangkat : x^n
hasilfaktorial = hitungfaktorial(n); // menghitung nilai faktorial: n!
result = hasilpangkat / hasilfaktorial; // menghitung nilai x^n/n!
ex=ex + result; // menghitung eksponensial (result sebelumnya dijumlahkah dengan result sekarang)
}
printf("\nExp(%.2f) = %.2f\n\n",bil1,ex); // tampilkan hasil eksponensial
ex = 0; // mengenolkan kembali nilai eksponensial agar pada operasi berikutnya tidak terakumulasi dengan hasil operasi sebelumnya
}
else if (operasi==8) // jika pilihan = 8, lakukan operasi perhitungan cosinus dari suatu derajat
{
printf("\nMasukkan besaran derajat: "); // input derajat
scanf("%f",&xdeg);

//tes tampilan input derajat
//printf("\nBesaran derajat : %f",xdeg);

xrad = xdeg*(phi/180); //konversi dari derajat ke radian

//tes print hasil konversi derajat ke radian
//printf("\nNilai x(%.3f derajat) dalam radian adalah: %.1f",xdeg,xrad);

/*start of perhitungan cosinus */
for (n=0;n<iter;n++){
if((n%2)==0) // jika n genap, nilai pada iterasi sekarang ditambahkan dengan akumulasi nilai cos pada iterasi sebelumnya
{
cos = cos + hitungpangkat(xrad,(2*n))/hitungfaktorial(2*n);
}
else // jika n ganjil, nilai pada iterasi sekarang dikurangkan dengan akumulasi nilai cos pada iterasi sebelumnya
{
cos = cos - hitungpangkat(xrad,2*n)/hitungfaktorial(2*n);
}
/*end of perhitungan cosinus */
}
printf("\nCos %.2f= %.2f\n\n",xdeg,cos); // menampilkan hasil perhitungan cosinus
cos = 0; // mengenolkan kembali nilai cos agar nilai cos pada perhitungan saat ini tidak terakumulasi pada perhitungan selanjutnya
}
else if (operasi==9) // jika pilihan = 9, keluar dari kalkulator
{
break;
}
else // jika pilihan selain 1-9, muncul peringatan salah input pilihan dan menampilkan kembali pilihan operasi
{
printf("\nPeringatan: Pilihan operasi yang diinput tidak ada\n\n");
continue;
}

}

return 0;
}

//fungsi penjumlahan
float jumlah(float x,float y)
{
float hasil;
hasil = x + y;
return hasil;
}

//fungsi perkalian
float kali(float x,float y)
{
float hasil;
hasil = x * y;
return hasil;
}

//fungsi pembagian
float bagi(float x,float y)
{
float hasil;
hasil = x / y;
return hasil;
}

//fungsi modulo
int modulo (int x,int y)
{
int hasil;
hasil = x % y;
return hasil;
}

// fungsi hitung pangkat
float hitungpangkat(float x,float n)
{
float hasilpangkat = 1; // inisialisasi hasil x^n
float i; // counter/iterasi
/* start of perhitungan x^n */
for (i=1;i<=n;i++) { hasilpangkat=hasilpangkat*x; } /* end of perhitungan x^n */ return hasilpangkat; // mengembalikan hasil x^n } // fungsi hitung faktorial float hitungfaktorial(float n) { float hasilfaktorial = 1; // inisialisasi hasil faktorial float i; // counter/iterasi /* start of perhitungan n! */ for(i=n;i>=1;i--)
{
hasilfaktorial = hasilfaktorial * i;
}
/* end of perhitungan n! */

return hasilfaktorial;
}

suichal signature

Naik Kereta Api

Kereta api merupakan moda transportasi yang cukup digemari oleh masyarakat, termasuk saya. Saya pertama kali naik kereta api pada saat akan mengikuti ujian SPMB tahun 2006 di Semarang. Waktu itu, saya naik kereta api Kaligung. Harganya masih murah, cuma 16 ribu rupiah. Tidak ada batasan penumpang dalam kereta, sehingga penumpang banyak yang duduk di lantai kereta. Tapi menurutku, itu sangat asik, karena kita justru bisa ngobrol-ngobrol dengan teman sehingga perjalanan dari Pemalang ke Semarang yang berlangsung sekitar 3 – 4 jam tidak begitu terasa . Di samping itu, jalur keretanya juga ada yang melewati dekat pantai sehingga pemandangannya pun cukup menarik (menarik=interesting, bukan menarik=pull).

Selepas itu, saya baru naik kereta api kembali ketika pertama kali kuliah di ITS, bulan Agustus 2009. Waktu itu saya naik kereta bisnis Gumarang. Ongkosnya waktu 150 ribu dan waktu itu sepertinya masih dapat makan. Setelah itu, saya sangat jarang sekali naik kereta api lagi selama kuliah di ITS. Mau naik kereta api kelas bisnis/eksekutif harga tiketnya mahal dan juga tidak berhenti di stasiun Pemalang juga, sedangkan kereta api ekonomi waktu itu masih semrawut dan katanya rawan kejahatan sehingga agak merasa takut juga waktu mau naik kereta api ekonomi. Saya pernah sekali naik kereta api ekonomi Kertajaya dari Pemalang dan memang rasanya tidak nyaman. Penumpang berjubel melewati batas jumlah kursi duduk. Selain itu, banyak pedagang bersliweran sehingga tidak nyaman juga jika duduk di lantai.

Lulus dari ITS Agustus 2012, saya magang di Jakarta. Selama magang itu saya lebih sering naik bus dari Pemalang-Jakarta PP. Sampai suatu ketika saya bertemu teman dan mendapatkan informasi bahwa kereta api ekonomi sudah tertib (pas tempat duduk) sehingga lebih nyaman. Dan ketika saya coba memang demikian, cukup nyaman dan harga tiketnyanya juga murah, cuma 33rb rupiah. Hanya saja waktu tempuh Jakarta-Pemalang pada saat itu masih 7-8 jam karena masih belum ada double track. Setelah double track jadi, naik kereta api menjadi lebih enak lagi. Waktu tempuh Jakarta-Pemalang hanya 5 jam. Jauh lebih cepat dibandingkan bus yang memakan waktu 8-10 jam. Jadwal tiba/keberangkatan kereta api pun sebagian besar tepat waktu. Selain itu harga tiket kereta api kelas ekonomi juga lebih murah dibandingkan bus. Beberapa kelebihan lainnya adalah tiket yang bisa dipesan secara online dan bisa dipesan jauh hari sebelumnya (90 hari sebelum keberangkatan). Dengan berbagai kelebihan tersebut, saya kemudian lebih menggemari naik kereta api dalam berperjalanan sebagai PJKA (pulang jumat kembali ahad-red) Jakarta-Pemalang.

Sebagai penutup dari postingan tidak penting ini–berbicara mengenai kereta api, ada lagu yang sangat lekat yaitu lagu “Naik Kereta Api” ciptaan Ibu Soed. Kinara, anak kami yang pertama, sangat menyukai lagu ini. Mungkin karena dia ingat waktu pertama kali ke Jakarta dan setiap kali pulang ke Pemalang, dia selalu naik kereta api.

Di dalam lirik lagu tersebut terdapat dua kota besar di Pulau Jawa. Saya sudah pernah tinggal selama tiga tahun di kota yang kedua. Dan saat ini saya sedang tinggal di [sekitar] kota yang pertama.

suichal signature

Menghitung jumlah cell yang berisi teks/string tertentu

Masih ada hubungannya dengan postingan sebelumnya, pada postingan ini akan ditampilkan bagaimana cara menghitung cell-cell dalam sebuah range tertentu yang mengandung suatu teks/string tertentu. Kalau dalam sql query kita menggunakan fungsi count dan like, dalam excel fungsi yang digunakan adalah countif. Formatnya sama dengan countif yang biasa, yaitu

= countif(range;kriteria).

Karena kriteria di sini yang digunakan adalah berupa teks, maka kita gunakan tanda ‘*’ yang berada di antara kata kuncinya, yang berarti kita akan menghitung cell yang berisi teks yang diapit tanda ‘*’. Jika tidak ada tanda’*’, maka kita hanya menghitung cell-cell yang tepat berisi kata/kriteria tersebut, tanpa ada imbuhan kata/teks di depan/di belakangnya.

countif kriteria dengan teks

 

 

Misalkan dalam range seperti di atas kita ingin menghitung jumlah cell yang berisi kata “mil”, maka fungsi yang digunakan adalah sebagai berikut.

=COUNTIF(A1:A4;”*mil*”)

Hasil dari fungsi di atas adalah 2 karena dalam range tersebut terdapat dua cell yang berisi kata “mil”, yaitu ac milan dan inter milan.
Sekian. Semoga bermanfaat.

suichal signature

Menentukan apakah cell berisi teks/string tertentu

Postingan kali ini akan menampilkan bagaimana cara untuk menentukan apakah suatu cell mengandung teks/string tertentu. Kalo dalam sql query kita biasanya menggunakan fungsi like, dalam excel juga ada fungsi yang hampir sama fungsinya. Fungsi yang digunakan adalah gabungan antara fungsi isnumber dan search. Nilai balikan dari fungsi ini adalah true/false.

Format fungsinya adalah :

=ISNUMBER(SEARCH(teks_yang_dicari;cell_tempat_kata_dicari)

Misalkan dalam cell A1 berisi teks “AC Milan”. Jika kita ingin mengecek apakah dalam cell tersebut ada kata Mil, maka fungsinya adalah :

=ISNUMBER(SEARCH(“mil”;A1))

Fungsi ini akan menghasilkan nilai TRUE karena dalam cell A1 terdapat kata Mil. Sekian.
suichal signature

Istilah-Istilah SPAN

  1. Chart of Account (CoA)
  2. Cross Validation Rules (CVR)
  3. Commitment Approval Number (CAN)
  4. Fund Availability (FA)
  5. Management of Spending Authority (MoSA)
  6. Budget Commitment (BC)
  7. Payment Management (PM)
  8. Government Receipt (GR)
  9. Cash Management (CM)
  10. General Ledger/Reporting (GL/Reporting)
  11. Spending Unit (SU) : Satuan Kerja (Satker)
  12. Operating Unit (OU) : KPPN
  13. Invoice : SPP/SPM
  14. Encumbrance
  15. Payment Term
  16. Spesific Commitment
  17. Continuing Commitment
  18. Supplier Header
  19. Supplier Site
  20. Nomor Registrasi Suplier (NRS)
  21. Nomor Registrasi Kontrak (NRK)
  22. Swift Code
  23. Iban
  24. Prepayment : uang muka kontrak