Selasa, 19 Juli 2022

Rasio keuangan dalam memilih saham

Dalam memilih saham ada yang menggunakan pergerakan harga yang diwakilkan lewat pola grafik yang ditampilkan (chart pattern). Ada pula pemilihan berdasarkan kriteria tertentu yang digunakan yakni rasio keuangan.

Rasio keuangan ini adalah sebuah data perhitungan berdasarkan kinerja laporan keuangan dilihat dari sisi pertumbuhan laba, dividen yield (prosentase pembagian deviden periode sebelumnya), nilai harga saham berdasarkan nilai bukunya, prosentase hutang terhadap modal, dan lain sebagainya. Mari kita lihat pelajari istilah dari rasio keuangan yang dipakai oleh emiten Indy (PT. Indika Energy, Tbk) yang bergerak dalam sektor batubara, energi terbarukan. Laporan disajikan tahunan. Data diambil dari link https://www.indopremier.com/legacy/newsSmartSearch.php?code=INDY :


1. Market Cap
    Market Cap atau kapitalisasi pasar adalah ukuran yang didasarkan pada nilai agregat suatu 
    perusahaan untuk menilai fundamental dan kinerja saham di perusahaan tersebut. Nilai tersebut 
    diperoleh dari total jumlah outstanding shares (saham) perusahaan yang beredar (baik yang dimiliki 
    oleh publik, pengendali, direksi, perusahaan investasi, dan lain-lain) dikalikan dengan harga satu 
    lembar saham di pasaran.
    Untuk contoh kode emiten INDY ini tertera jumlah saham adalah 5,200,000,000 (5, 2 milyar lihat 
    pada kolom share out) lembar 
    dengan sebaran komposisi sebagai berikut (data diambil tanggal 30 Juni 2022 diambil dari apps RTI).
    PT. Indika Inti Investindo (pengendali) jumlah lembar yang dimiliki1,968,882,699 komposisi 37.79%
    PT. Teladan Resources (pengendali) jumlah lembar yang dimiliki  1,463,155,591 komposisi 28.08%
    Masyarakat jumlah lembar yang dimiliki 1,770,653,710 komposisi 33.99%
    Saham Treasury jumlah lembar yang dimiliki 7,500,000 komposisi 0.14%
    Total saham INDY adalah 5,210,192,000. 
    Pada tahun tahun 2020 harga penutupan terakhir saham INDY adalah 1,730 per lembar sehingga 
    akhir tahun 2020 market cap saham INDY adalah 9.0 T (bisa dilihat pada gambar di atas).
    Pada  tahun 2021 harga penutupan terakhir saham INDY adalah 1,545 per lembar sehingga akhir 
    tahun 2021 market cap saham INDY adalah 8.0 T (bisa dilihat pada gambar di atas).
    Mungkin ada yang bertanya kenapa market cap INDY di tahun 2020 lebih tinggi daripada tahun 
    2021 ?
    Jawabannya pada tahun 2020 saat itu diperkirakan pemulihan ekonomi segera dimulai karena telah 
    ditemukan vaksin, ternyata pada tahun 2021 terjadi serangan virus covid varian Delta. Kalau kita 
    lihat pada tahun 2022 sampai kuartal 1 tahun 2022 market cap INDY telah mencapai 12.6 T lebih 
    tinggi daripada tahun 2021. Ini disebabkan karena adanya permintaan batubara yang melonjak 
    dikarenakan terjadinya krisis energi yang disebabkan terjadinya perang Rusia vs Ukraina yang
    mendorong terjadinya booming komoditas dalam hal ini energi.  

2. Last price
    Adalah harga penutupan pada akhir tahun yang dimaksud (pada gambar di atas harga penutupan 
    tahun 2021 adalah 1,545)

3. Share Out
    Adalah total jumlah lembar saham yang beredar.

4. Cash
    Adalah jumlah uang tunai yang dimiliki perusahaan pada kuartal maupun akhir tahun.

5. Total aset
    Adalah jumlah aset yang dimiliki perusahaan. Contoh aset adalah lahan, pabrik, smelter, jumlah 
    volumen batubara, komputer dan perabotan kantor, kendaraan, dan lain sebagainya,

6. ST Borrowing
    Adalah pinjaman jangka pendek (short term borrowing)  biasanya berjangka waktu 3 bulan
    sampai 1 tahun.
 
7. LT Borrowing
    Adalah pinjaman jangka panjang (long term borrowing) biasanya berjangka waktu lebih dari 1 
    tahun. 

Kita langsung ke bagian kolom ratio

8. Deviden
    Adalah besarnya nominal yang diberikan kepada pemegang saham mirip seperti bunga kalau di 
    deposito. Contoh pada gambar di atas pada tahun 2020. INDY memberikan deviden sebesar Rp 90,- 
    per lembar saham kepada pemegang saham INDY.

9. Earning per share (EPS)

    EPS adalah laba perusahaan yang dibagi per lembar saham. Semakin meningkat nilai EPS dari tahun 
    ke tahun, maka perusahaan tersebut semakin baik karena laba perusahaan meningkat, serta dapat 
    dikatakan bahwa perusahaan bertumbuh. EPS dapat dibandingkan secara quartal to quartal maupun 
    year on year. Rumus dari EPS = laba bersih/jumlah lembar saham    

10. Price Earning Ratio (PER)
     Adalah adalah rasio yang menggambarkan harga saham sebuah perusahaan dibandingkan dengan 
     laba yang dihasilkan perusahaan tersebut (EPS).  Analisa PER suatu perusahaan dapat dilakukan 
     dengan cara membandingkan PER dalam industry sejenis.
     Jika PER lebih kecil dari rata-rata emiten lainnya dalam industri sejenis, maka harga perusahaan 
     dianggap relative murah. Saham dengan PER rendah banyak diminati investor.
     Rumus PER = harga saham/eps

11. Book Value per share (BVPS)
     Adalah jumlah rupiah tiap lembar saham. Rumus BVPS = Ekuitas/jumlah lembar saham

12. Price to book value (PBV)
      Adalah rasio harga saham terhadap nilai buku perusahaan. Misalkan PBV sebesar 2x artinya harga 
      saham sudah sebesar 2x lipat dibandingkan kekayaan bersih suatu perusahaan. Dengan kata  lain,            harga saham tersebut 2x lipat lebih mahal dari modal bersihnya.
      Rumus PBV = Harga saham/BVPS

13. Return on Asset (ROA)
     Adalah indikator yang menunjukkan seberapa baik perusahaan dalam memanfaatkan asetnya untuk 
     menghasilkan laba atau profit.
     Rumus ROA = laba bersih (net income)/Aset perusahaan. (Dibaca laba bersih dibagi aset 
     perusahaan).
     Rumus Aset = Hutang + Modal

14. Return on Equity (ROE)
      Adalah jumlah imbal hasil dari laba bersih terhadap ekuitas yang dinyatakan dalam bentuk persen.
      Rumus ROE = laba bersih/ekuitas saham

15. Debt Equity Ratio (DER)
      Adalah perbandingan nilai hutang terhadap ekuitas (modal) perusahaan dinyatakan dalam persen.
      Rumus DER = total hutang/total ekuitas x 100%

Demikianlah pengenalan akan istilah-istilah dalam laporan keuangan. Kedepannya akan saya tambahi lagi istilah lainnya. Selamat berinvestasi. 



Kamis, 05 Mei 2022

Cara perhitungan BEP (balik modal) saat melakukan cut loss dalam saham

 Dalam melakukan trading di market baik itu saham, gold, forex, crypto pasti pernah mendengar tentang istilah cut loss.

Cut loss adalah mekanisme untuk menjual rugi dikarenakan arah pergerakan harga sudah tidak sesuai dengan trading plan (rencana trading yang telah diset sebelumnya). Bisa juga cut loss dikarenakan karena arah trend sudah berbalik arah.

Tujuan dari cut loss adalah untuk melindungi psikologis saat melihat modal aset kita tergerus lebih dalam.

Contoh : Abi mempunyai harga saham di harga average Rp 1000,-/ lembar. Abi mempunyai 30 lot saham (setara dengan 3000 lembar). Karena terdapat kejadian adanya gugatan PKPU terhadap perusahaan tersebut sehingga menyebabkan terjadinya aksi jual besar-besaran harga saham menjadi turun Rp 930,-/lembar. Jika dikalkulasikan maka floating loss (rugi mengambang) dari si Abi adalah

Jumlah lembar Abi punya = 30 x 100 = 3000 lembar

Modal Abi = 3000 lembar x 1000/lembar = Rp 3.000.000,-

Bila harga saat ini Rp 930,- per lembar, maka Abi menderita kerugian mengambang (floating loss) sebesar = 

3.000.000 - (3000 lembar x 930/lembar)

= 3.000.000 - 2.790.000

= Rp 210.000

Di atas ada istilah floating loss. Apa sih floating loss ini ? Floating loss adalah istilah ketika harga modal average kita lebih tingga dari harga market saat itu. Disebut floating loss dikarenakan rugi yang tercatat di portofolio saat itu belum direalisasikan atau belum dijual oleh Abi. Floating loss bisa disebut juga unrealized loss. Cut loss merealisasikan kerugian (realized loss) dengan cara menjual rugi semua lot yang dimiliki oleh Abi.

Karena Abi mendapat informasi bahwa perusahaan tersebut terkena gugatan PKPU, maka Abi memutuskan untuk melakukan cut loss sehingga menjadikan realized loss (merealisasikan kerugian).

Berarti Abi merealisasikan kerugian sebesar Rp 210.000,-

Berapa gain (profit) yang harus didapat oleh Abi agar kerugian sebesar Rp 210.000,- dapat tertutupi ?

Rumus untuk menutupi loss (rugi) yang didapat dapat dilakukan dengan rumus  = loss/(100-loss)

Contoh Pada kasus di atas  Abi loss 7%, maka Abi untuk mengembalikan modal adalah harus mendapat profit sebesar = 7/(100-7) = 7.5%

 Berikut daftar loss dan minimal profit yang harus didapat untuk mengembalikan modal

  • Loss 5%, maka minimal profit yang didapat adalah 5.26%
  • Loss 10%, maka minimal profit yang didapat adalah 11.11%
  • Loss 15%, maka minimal profit yang didapat adalah 17.64%
  • Loss 20%, maka minimal profit yang didapat adalah 25%
  • Loss 25%, maka minimal profit yang didapat adalah 33.33%
  • Loss 30%, maka minimal profit yang didapat adalah 42.85%
  • Loss 40%, maka minimal profit yang didapat adalah 66.66%

Dan seterusnya. Ingat pada rumus = loss% dibagi (100%-loss%) = loss/(100-loss)

Semoga catatan ini membantu terima kasih.


Sabtu, 30 April 2022

Mengatasi perasaan traumatis secara kekristenan

Tentu tidak mudah mengenyahkan traumatis apalagi yang pernah kita alami secara langsung. Rasa was-was bisa muncul sewaktu-waktu tatkala membaca atau menyaksikan isyarat buruk. Penderitaan yang satu sering bertumpang tindih dengan yang lainnya. 

Di tengah ketidak berdayaan hendaknya kita terus mengatakan bahwa Tuhan adalah Allah yang penuh rahmat. 

Mari kita panjatkan permohonan sebagaimana doa Daud. Kiranya Tuhan mengaruniakan kekuatan. Mohon Tuhan memberkati kita dengan damai dan sejahtera.

Mazmur 29:10 "Tuhan bersemayan di atas air bah, Tuhan bersemayam sebagai Raja untuk selama-lamanya."

Dari ayat di atas kita dapat merasakan bagaimana raja Daud memuji dan memuliakan Tuhan lewat kata-kata yang diucapkannya. Bagi raja Daud. Tuhanlah raja atas hidupnya.

Tuhan memberkati    

Belajar kemurahan dan penyertaan Tuhan dari kisah Rut

Rut bukan hanya mendapatkan bulir-bulir gandum, tetapi juga perlindungan, jaminan keamanan, serta kecukupan bahan makanan.

Bahkan di sepanjang musim panen itu, ia hanya memungut jelai di ladang Boas. Sebuah kebetulan yang menakjubkan . Tetapi sebenarnya di balik semuanya ada kemurahan Tuhan yang sedang bekerja dalam hidupnya. 

Dalam hidup kita pun Allah yg sama juga tetap berkarya memelihara hidup kita. 

Rut 2:3 "Pergilah ia, lalu sampai di ladang dan memungut jelai di belakang penyabit-penyabit; kebetulan ia berada di tanah milik Boas, yang berasal dari kaum Elimelekh.

Dari ayat di atas dapat diambil pesan bahwa penyertaan Tuhan selalu ada bagi orang yang bersandar pada-Nya. Seperti kita ketahui dari riwayat Rut yang adalah seorang janda yang ditinggal meninggal oleh suaminya, sehingga hanya Rut beserta dengan ibu mertua sajalah pergi ke daerah tanah kelahiran kaum keluarga suaminya. Rut ini belum pernah pergi ke tanah kelahiran mendiang suaminya.

Tuhan memberkati

    

Cara menyikapi media sosial dari sudut pandang Kristen

Sekarang ini banyak orang tersedot perhatian dan energinya oleh pergaulan dengan media sosial. Apalagi di masa pandemi dan karantina sosial ini. Bukannya itu salah atau buruk melulu, melainkan kita harus tetap waspada jangan sampai seluruh konsentrasi terkuras dan kita dibuat buta pada semua pesannya.

Jangan terterbuai atau terbius oleh pesonanya yang sarat tipuan. Pastikan kita selalu kembali ke kehidupan nyata kepada akal sehat, serta orang-orang terdekat dengan kita.

Markus 1:29 "Sekeluarnya dari rumah ibadat itu Yesus dengan Yakobus dan Yohanes pergi ke rumah Simon dan Andreas".

Pesan dari ayat di atas bahwa hubungan dengan orang terdekat itu penting agar terbangun komunikasi yang kuat.

Tuhan memberkati

      

Minggu, 10 April 2022

Apa itu candlestick dalam chart saham

Di dalam postingan sebelumnya di artikel Apa itu trading, investor, support, resistance dalam saham

ada disebut mengenai candlestick dalam chart. Berikut akan dibahas mengenai candlestick tersebut.

Candlestick atau batang lilin adalah suatu bentuk mirip lilin yang menggambarkan pergerakan harga dari saham selama time frame yang kita tentukan. Contoh time frame dapat daily (harian) berarti satu candlestick mewakili satu hari. Time frame weekly (mingguan) berarti satu candlestick mewakili 1 minggu (5 hari). Dalam market 1 minggu = 5 hari kerja yang dimulai dari hari Senin sampai Jum'at.

Berikut gambar candlestick 



Gambar di atas ada istilah upper shadow maupun lower shadow adalah suatu pergerakan harga yang pernah dilalui selama jam market.  Bedanya upper shadow pergerakan harga ke arah atas (high), sedangkan lower shadow pergerakan harga ke arah bawah (low).

Upper shadow maupun lower shadow sering disebut juga dengan ekor.

Misal kita menggunakan time frame daily pada chart saham, penjelasannya sebagai berikut :
Body adalah range harga antara waktu harga dibuka (open) sampai tutup (close) market pada hari itu.

Jika open < close (dibaca harga open lebih kecil daripada harga close, maka candlestick berwarna hijau). Sebaliknya jika open > close (dibaca harga open lebih besar daripada harga close), maka candlestick berwarna merah.

Berikut akan disajikan beberapa gambar candlestick yang berhubungan dengan price action (umumnya digunakan aksi untuk membeli)




Di dalam market kita akan berkenalan dengan istilah yaitu bearish (kecenderungan harga menurun), bullish (kecenderungan harga naik), sideway (harga naik turun pada range tertentu).

Di dalam market banyak terdiri dari orang yang sifatnya scalper, trader swing, investor kemudian ada juga yang bersifat spekulan (orang yang berusaha mencuri start dengan membeli dengan harapan harga akan naik).

Jadi candlestick ini menggambarkan kondisi market daripada saham tersebut pada time frame yang kita pilih apakah kita mau melihat pergerakan harga secara menitan, harian, mingguan, bahkan bulanan.

Di dalam saham sifatnya hanya satu arah yaitu kita hanya bisa mengambil untung apabila harga jual lebih besar daripada harga beli.

Di dalam saham ada istilah IHSG (Indeks Harga Saham Gabungan) yaitu berupa indeks yang berdasarkan pergerakan dari kumpulan semua saham yang diperdagangkan di Bursa Efek Indonesia.

Pergerakan IHSG berdasarkan pembobotan tiap saham yang ada di Bursa Efek Indonesia, dimana semakin besar pembobotan suatu saham (biasanya berdasarkan market capital), maka semakin besar pula pengaruh pergerakan harga daripada saham tersebut terhadap IHSG. 


Bersambung.........



Apa itu trading, investor, support, resistance dalam saham

Setelah membahas apa itu saham di artikel sebelumnya, kali ini saya akan membahas mengenai istilah trading, investor, support dan resistance.

Sebelum mulai memasuki market saham kita harus mengetahui style atau gaya kita dalam berinvestasi.

Secara garis besar di market ada 3 peran yang dimiliki seseorang yaitu :

1. Scalper adalah seseorang yang mengambil keuntungan dan membatasi kerugian dengan modal yang dimiliki saat masuk posisi dengan batasan kurang lebih 1%-5%. Mereka biasanya menggunakan time frame lebih pendek baik itu 1 menit - 5 menit. Biasanya mereka melakukan cut loss atau jual rugi ketika saham tersebut udah -3%.

2. Trader swing. Seperti namanya yaitu swing atau berayun, maka seseorang yang memakai style seperti ini akan menetapkan target ke area resitance atau batas atas kenaikan dari suatu saham. Resistance atau batas atas dari kenaikan suatu saham tersebut didasarkan pada time frame daily hingga weekly. Seorang trader swing juga akan membatasi resiko yang dinamakan trading plan dengan menetapkan strategy exit atau cut loss atau jual rugi. Biasanya mereka akan jual rugi ketika saham tersebut misal sudah membuat rugi 5%-7% atau sudah patah trend. Untuk istilah trend  akan di bahas di artikel berikutnya. Seorang trader swing dapat menahan saham yang dimilikinya dalam hitngan mingguan bahkan bulanan.

3. Investor adalah tipe orang yang berinvestasi dengan cara umumnya melihat fundamental perusahaan dan juga prospek growth perusahaan. Umumnya mereka melihat EPS (earning per share), PBV (Price to book value), PER (Price Earning Ratio), DPR (Deviden Payout Ratio), DER (Debt to equity ratio). Untuk istilah tersebut akan ada di artikel berikutnya. Investor juga dapat melakukan cut loss atau jual rugi jika dipandang perusahaan tersebut tidak memiliki prospek ke depannya.  

Support adalah batas terendah agar tidak kembali turun. Resistance adalah batas tertinggi yang menjaga saham tersebut agar tidak naik. Untuk gambar daripada support dan ressistance dapat melihat dengan gambar di bawah ini.


Dari gambar di atas kita dapat melihat di mana support adalah sebuah garis yang dilewati oleh ekor candle (shadow candle). Semakin banyak ekor candle yang dilewati oleh garis tersebut maka semakin kuat support. 

Resistance adalah sebuah garis yang dilewati oleh ekor candle (shadow candle). Semakin banyak ekor candle yang dilewati oleh garis tersebut maka semakin kuat resistance. 

Di market yang nyata kita bisa menjumpai suatu support atau resistance dapat ditembus. Support dapat ditembus jika orang yang memiliki saham tersebut melakukan tekanan jual yang tinggi daripada yang membeli saham tersebut. Biasanya support jebol dikarenakan laporan keuangan quartal (tiap 3 bulanan) bahkan laporan tahunan yang dinilai oleh market jelek. Bisa juga support jebol dikarenakan perusahaan tersebut sedang dalam kasus atau bahkan pemegang saham pengendali-nya (pemilik mayoritas saham) melakukan aksi jual.

Demikian pula resistance juga dapat dijebol dikarenakan tekanan beli yang besar daripada yang melakukan aksi jual. Umumnya resistance dijebol dikarenakan laporan keuangan quartal bahkan tahunan yang sifatnya luar biasa. Bahkan bisa juga perusahaan tersebut melakukan merger dan akuisisi ke perusahaan lain. 

Oh ya, untuk grafik di market umumnya orang menggunakan grafik candle karena bentuknya seperti candle. Jika menggunakan time frame daily, maka 1 candle sama dengan pergerakan harga dalam 1 hari. Candle yang berwarna putih atau hijau artinya harga naik sedangkan candle yang berwarna hitam atau merah artinya harga turun.

Ekor candle adalah range harga baik naik ataupun turun yang terjadi saat hari itu selama jam perdagangan berlangsung.

Untuk pembahasan candle akan dibahas di artikel berikutnya.

Bersambung.......

Jumat, 08 April 2022

Apa itu saham

Saham adalah bukti kepemilikan seseorang atau badan terhadap suatu perusahaan. Perusahaan yang melakukan listing (mendaftarkan) ke dalam anggota Bursa Efek Indonesia, maka kepemilikannya dapat dibeli oleh masyarakat umum.

Perusahaan yang terdaftar dalam Bursa efek Indonesia ini nantinya menyandang status perusahaan terbuka. Penulisan nama perusahaan akan diakhiri dengan kata tbk. Contoh PT. Aneka Tambang, tbk.

Masyarakat umum dapat membeli saham suatu perusahaan setelah terlebih dahulu mendaftarkan dirinya ke suatu broker saham yang terdaftar resmi di Indonesia. Contoh broker seperti Indo Premier Sekuritas, Mirae Aset Sekuritas, Ajaib Sekuritas, MNC Sekuritas, Philip Sekuritas dan lain sebagainya. Cara pendaftarannya cukup mudah karena dapat dilakukan secara online.

Berikut beberapa alamat website broker 

https://www.indopremier.com/

https://miraeasset.co.id/

https://ajaib.co.id/

https://www.mncsekuritas.id/

https://www.phillip.co.id/

Perbedaan antara broker satu dengan yang lainnya terletak pada : 

1. Komisi fee beli (biaya beli), dan fee jual (biaya jual) yang dikutip oleh masing-masing broker.

2. Fitur layanan yang diberikan.

Setelah terdaftar di broker, maka kita akan memperoleh SID (Single Identification Number) yang diterbitkan oleh KSEI (Kustodian Sentral Efek Indonesia). Kode ini digunakan oleh nasabah, pemodal, pihak lain berdasarkan peraturan yang berlaku untuk melakukan kegiatan terkait transaksi efek.

Setelah mendaftar, maka orang tersebut dapat melakukan kegiatan buy or sell saham yang dimilikinya selama jam perdagangan dibuka.

Di Indonesia pembelian terhadap saham minimal adalah 1 lot. Di mana 1 lot adalah sebesar 100 lembar.

Perusahaan terbuka atau yang telah go public memiliki porsi saham sebesar sekian persen yang dapat dibeli oleh perusahaan.

Contoh PT. Antam, tbk sebuah perusahaan terbuka yang bergerak dalam bidang pertambangan nikel, dan perdagangan emas. Komposisi pemegang saham per 31 Maret 2022 adalah sebagai berikut :

PT. Indonesia Asahan Aluminium (Persero) sebesar 65%

Masyarakat sebesar 35%

Dari komposisi di atas dapat dikatakan bahwa PT. Indonesia Asahan Aluminium sebagai pemegang saham pengendali dari PT. Antam,tbk


------------------------------------Bersambung---------------------------------------------------------------------




 


Sabtu, 05 Maret 2022

Peristiwa penting ekonomi dari 2020

Tanggal 02 Maret 2020, Presiden Indonesia Joko Widodo mengumumkan adanya 2 warga Indonesia yang terkonfirmasi positif Covid-19. Saat berita tersebut dirilis publik mulai diliputi kekhawatiran akan terjadinya badai covid seperti di China.

Kekhawatiran akan melubernya pasien covid-19 yang membebani fasilitas kesehatan rumah sakit menyebabkan Pemerintah mulai memberlakukan PSBB (Pembatasan Sosial Berskala Besar).

Boleh dibilang tahun 2020 adalah tahun beritanya tentang Covid-19. 
Karena di tahun ini berita mengenai obat untuk menanggulangi covid-19 beredar simpang siur, ekonomi jelas tertekan karena pembatasan sosial. Di tahun ini sektor kesehatan dan teknologi berjaya. Sektor kesehatan berjaya dikarenakan pemerintah mempriorotaskan anggaran belanja untuk sektor ini. Sektor teknologi berjaya dikarenakan kegiatan "work from home" maupun "school from home" menjadikan belanja kebutuhan peralatan komputer, paket data menjadi meningkat.
Sekor yang mengalami keterpurukan adalah sektor pariwisata.

Di tahun 2020 ini juga berita mengenai pemilihan presiden Amerika Serikat antara pentahana Donald Trump (dari partai Republik) vs Joe Biden (dari partai Demokrat) menghiasi berita di banyak media.
Berita ini sampai puncaknya setelah pelantikan Joe Biden sampai jadi presiden Amerika Serikat menggantikan Donald Trump.

Di tahun ini sebenarnya publik sudah mulai optimis akan bangkitnya ekonomi dikarenakan di akhir tahun 2020 ditemukan berita pengembangan antivirus covid-19. Namun semuanya itu ternyata buyar ketika muncul varian Delta di tahun 2021.

 

Rabu, 02 Oktober 2013

Pengenalan keydown pada object stringgrid di delphi

Hari ini saya ingin membagi tulisan menganai pemrograman pada Delphi 7. Pokok bahasan kali ini adalah saya ingin membuat stringgrid yang dapat diinput terus perpindahan dari kolom 1 ke kolom yang lain dilakukan dengan cara menekan tombol tab. Berikut gambar dari Form yang diberi stringgrid
Jangan lupa pada property stringgrid bagian options berisi baris sebagai berikut : [goFixedVertLine,goFixedHorzLine,goVertLine,goHorzLine,goRangeSelect,goColMoving,goEditing,goTabs] Arti dari baris di atas adalah goFixedVertLine = true, goFixedHorzLine = true; goVertLine = true; goHorzline = true; goRangeSelect = true; goColMoving = true; goEditing = true; goTabs = true

Enkripsi dan dekripsi pada PHP

Hari ini saya akan memberikan contoh bagaimana membuat sebuah enkripsi dan dekripsi pada PHP.

1. Buat file yang diberi nama coba_enkripsi.php berikut isi codingnya :
   $plaintext = "mencoba cryptography dengan php";
   $key = "rahasia";
   $iv = "abcdefghij123456";

   $chiper = mcrypt_module_open('rijndael-128','','cbc','');
   mcrypt_generic_init($chiper,$key,$iv);
   $chipertext = base64_encode(mcrypt_generic($chiper,$plaintext));
   mcrypt_generic_deinit($chiper);
   mcrypt_module_close($chiper);

  echo "plaintext: ".$plaintext."";
  echo "
";
  echo "chipertext: ".$chipertext;
?>
Inti dari pada coding di atas adalah mengenkripsi kalimat mencoba cryptography dengan php dengan menggunakan key "rahasia". Adapun algoritma yang digunakan dalam contoh adalah Rijndael-128.

2. Buat sebuah file yang diberi nama coba_dekripsi.php berikut isi codingnya :
   $c_t = base64_decode('26KrOPhz6vY41b4sXXMyqEp+31m22CB1jxgCVxSczL0=');
  
   $key = "rahasia";
   $iv = "abcdefghij123456";
  
   $chiper = mcrypt_module_open('rijndael-128','','cbc','');
   mcrypt_generic_init($chiper, $key, $iv);
  
   $p_t = mdecrypt_generic($chiper, $c_t);
  
   mcrypt_generic_deinit($chiper);
   mcrypt_module_close($chiper);
  
   echo "enkripsi = " .$c_t;
   echo "
";
   echo "plain text = " .$p_t;
?>

Nantinya coba_dekripsi.php akan mendekripsi hasil daripada enkripsi yang dihasilkan dari nomor 1. Pada nomor 1 akan menghasilkan deretan karakter yang terenkripsi yaitu :
"26KrOPhz6vY41b4sXXMyqEp+31m22CB1jxgCVxSczL0="
Nah setelah dipanggil dari coba_dekripsi.php akan menghasilkan kalimat asli (sebenarnya) yaitu :
"mencoba cryptography dengan php"

Selamat Mencoba 

Perbedaan single quotes (petik tunggal) dan double quotes (petik ganda) dalam PHP



Single Quotes dan Double Quotes adalah salah satu kode yang ada dalam pemrograman PHP, dalam penggunaannya kadang para programmer pemula seperti saya beranggapan bahwa ini adalah sesuatu yang sama. Namun sebenarnya dalam pemrograman PHP kedua tanda ini akan di eksekusi dengan cara yang berbeda.


Kita perhatikan dulu contoh dibawah ini:
echo 'Merokok tidak baik untuk kesehatan.'; //...single quotes

echo "Merokok tidak baik untuk kesehatan."; //...double quotes
Pada contoh diatas terlihat kalau kedua fungsi echo akan menghasilkan output yang sama.
Tapi perhatikan contoh kedua dibawah:
$text = 'Merokok tidak baik untuk kesehatan.';

echo '$text'; //...output- $text

echo "$text"; //...output- Merokok tidak baik untuk kesehatan.
Bila diperhatikan contoh diatas terlihat bahwa yang menggunakan single quotes variable akan di print sebagai text tapi dengan menggunakan double quotes variable tetap diproses sebagai variable dan menampilkan value dari variable tersebut.
Dalam hal ini double quotes menggunakan waktu lebih banyak karena melakukan proses evaluasi kedalam sebelum ditampilkan keluar, memang tidak akan terasa saat script dan looping masih sedikit tapi akan terlihat perbedaannya ketika aplikasi yang kita buat sudah besar dan memiliki iterasi looping yang banyak.
Berbeda dengan single quotes yang tidak melakukan proses evaluasi kedalam, single quotes akan langsung menampilkan apa yang ada dan melewati proses evaluasi. Yang artinya single quotes memiliki proses yang lebih cepat dibandingkan dengan double quotes.
Memang perbedaan ini terlihat sederhana tapi sangat besar manfaatnya dalam implementasi terutama saat development aplikasi dengan skala besar. Oleh karena itu mengikuti standar coding akan sangat membantu dalam banyak hal, salah satunya adalah mudahnya kita melakukan perbaikan-perbaikan atau penambahan pada kode, dan untuk orang lain kode kita akan lebih readable

Sumber : http://www.swsaputra.com/2013/01/perbedaan-single-quotes-dan-double.html
 

Cara mempercepat proses query di MS SQL Server

Bagi sebagian diantara kita, berurusan dengan query adalah hal yang pasti dilakukan setiap hari. Kadang performa query kita terasa begitu lambat, apalagi ketika berhadapan dengan data yang sangat besar. Mungkin kita melewatkan hal-hal kecil yang dapat berpengaruh besar terhadap performa query tersebut. Bayangkan jika query itu berupa stored procedure yang akan terus digunakan dalam aplikasi.


Berikut ini 10 tips meningkatkan performa query (stored procedure) yang kita buat:

  • Gunakan NOCOUNT 
SQL Server secara default memberikan informasi tentang berapa row data yang terpengaruh dari query kita (177 row(s) affected). Jika kita tidak memerlukan informasi ini, matikan dengan SET NOCOUNT ON. Hal ini akan mengurangi network traffic yang digunakan untuk pengiriman informasi tersebut.
CREATE PROC dbo.NamaProc
AS
SET NOCOUNT ON
–Isi Procedure
  • Akses tabel dengan NOLOCK 
Kebanyakan akses tabel tidak membutuhkan fitur ini. Matikan dengan WITH (NOLOCK) setelah nama tabel. NOLOCK dalam query select tidak hanya mengabaikan Exclusive Lock namun juga Shared Lock sehingga tidak akan ada delay ketika proses lain melakukan write ke tabel yang sedang kita read.
CREATE PROC dbo.NamaProc
AS
SET NOCOUNT ON
SELECT Id, [Name]
FROM NamaTabel WITH (NOLOCK)
  • Hindari penggunaan or dalam where
Gunakan IF ELSE menggantikan OR. Misalnya ketika kita membuat fungsi search yang parameternya fleksibel, dalam contoh ini email dan name, dimana salah satu parameter pasti null. SELECT Id FROM NamaTabel WHERE Email = @Email OR Name = @Name Menjadi



IF @Email IS NULL SELECT Id FROM NamaTabel WHERE [Name] = @Name ELSE SELECT Id FROM NamaTabel WHERE Email = @Email
  • Sesuaikan tipe data 
   Kita bisa saja menjalankan query walaupun tipe data 
   parameter dengan field pada tabel berbeda, namun hal ini  
   akan menurunkan performa query kita karena SQL Server akan 
   terlebih dahulu mengkonversi tipe data agar tersebut 
   sama.Misalnya tipe data Id pada tabel NamaTabel adalah 
   Integer.
   CREATE PROC dbo.NamaProc
   @Id VARCHAR(20)
   AS
   SELECT [Name], Email FROM NamaTabel
   WHERE Id = @Id
 
  • Gunakan penulisan Nama Objek secara lengkap 
Menuliskan nama objek secara lengkap (server.database.schema.objectName) membantu SQL Server langsung menuju ke objek yang kita maksud tanpa perlu melakukan pencarian dan meningkatkan peluang penggunaan kembali (reuse) execution plan yang sudah ada jika objek sudah pernah digunakan.
SELECT Id, [Name] FROM DBName.dbo.NamaTabel
EXEC DBName.dbo.NamaProc
  • Kurangi pemanggilan GETDATE(), gunakan variabel 
Jika kita membuat sebuah stored procedure yang banyak memanggil fungsi GETDATE(), gantikan fungsi-fungsi tersebut dengan sebuah variabel date yang kita assign dengan GETDATE() sehingga pemanggilan fungsi tersebut tidak perlu dilakukan berulang-ulang.
DECLARE @Date DATETIME
SET @Date = GETDATE()
  • Jangan menggunakan awalan "SP_" untuk nama procedure
Jika sebuah stored procedure diawali dengan “SP_” ketika eksekusi SQL Server akan terlebih dahulu mencari objek tersebut dalam System Stored Procedures, hal ini akan menurunkan performa dan bahkan menghasilkan hasil yang salah jika nama stored procedurenya sama.  
  • Gunakan IF EXIST(SELECT 1) menggantikan (SELECT * atau SELECT nama kolom)
Untuk mengecek keberadaan data pada suatu tabel kita sering menggunakan IF EXISTS. IF EXISTS akan mengembalikan nilai true jika statement kondisinya mengembalikan nilai apapun, baik itu “1″ ataupun semua kolom, dan semua hasil itu tidak digunakan. Jadi, untuk mengurangi network traffic dan mengurangi pemrosesan data, gunakanalah “1″ daripada data pada tabel.
IF EXISTS (SELECT * FROM NamaTabel WHERE Id = @Id) atau IF EXISTS(SELECT Id FROM NamaTabel WHERE Id = @Id)
Menjadi
IF EXISTS (SELECT 1 FROM NamaTabel WHERE Id = @Id)
  • Gunakan sp_executesql menggantikan EXECUTE
Jika kita menggunakan sp_executesql untuk mengeksekusi query berkali-kali SQL Server akan menggunakan kembali (reuse) execution plan yang sudah ada, hal ini akan menigkatkan performa. Execution plan hanya dapat digunakan kembali jika setiap karakter dari query sama persis.
DECLARE @Query VARCHAR(MAX)
DECLARE @Id INT
SET @Id = 7
SET @Query = ‘SELECT * FROM dbo.NamaTabel WHERE Id = ‘ +CONVERT(VARCHAR(10),@Id) EXEC (@Query)  
Pada contoh di atas ketika parameter @Id berubah, execution plan pada saat @Id = 7 tidak dapat digunakan kembali.  

Jika kita ubah menjadi:
DECLARE @Query VARCHAR(MAX)
SET @Query = ‘SELECT * FROM dbo.tblPerson WHERE Id = @Id‘
EXECUTE sp_executesql @Query, ‘@Id INT‘, @Id = 7  
Perubahan parameter tidak mempengaruhi SELECT statement sehingga execution plan dapat terus digunakan kembali walaupun parameter berubah.

  • Hindari penggunaan cursor 
Cursor memakan banyak resource untuk me-maintain posisinya saat proses, hal ini menurunkan performa query kita. Usahakanlah mengganti penggunaan cursor dengan WHILE dan SET. SQL Server memiliki performa yang baik untuk operasi SET.  

Sumber :
http://students.netindonesia.net/blogs/herwinlesmana/archive/2011/12/25/1830.aspx