Astawan’s World

Icon

Just To Remember Something That I Ever Know

Program Konversi Suhu dengan Pascal

Pernah mendengan kata-kata seperti Celcius, Fahrenheit, Reamur dan Kelvin???, mereka bukanlah nama-nama binatang apalagi nama tumbuh-tumbuhan..  he he, tetapi mereka merupakan satuan yang sering digunakan pada temperatur suhu. Jika anda pernah mendengarnya, Pernahkan anda melakukan konversi suhu dari suatu satuan ke satuan lainnya?.

Dalam tulisan ini saya mencoba untuk membuat sebuah program komputer yang dapat digunakan untuk mengkonversi suhu dari satu satuan ke satuan lainnya. Program saya buat menggunakan bahasa Pascal.

Bahasa Pascal merupakan bahasa yang didunia industri kurang banyak dipakai, tapi merupakan bahasa yang sangat banyak digunakan oleh instansi-instansi pendidikan untuk membangun kuda-kuda yang tangguh bagi seorang programmer.

Berikut adalah program Pascal yang saya gunakan untuk memecahkan persoalan konversi suhu. Satuan suhu yang saya libatkan hanya empat yaitu Celcius, Reamur, Fahrenheit dan Kelvin. Sebenarnya banyak satuan untuk temperatur yang dipakai dalam dunia ini, kebetulan cuma empat itu yang pernah saya pelajari dari pelajaran Fisika sewaktu duduk dibangku SMP.

OK.. sekarang masuk kebagian aplikasi, Secara teknis aplikasi akan meminta input Jenis dan Besar Temperatur Suhu yang akan dikonversi, jika jenis input suhu adalah Celcius, maka output program adalah satuan suhu dalam Reamur, Fahrenheit dan Kelvin. Jika jenis suhu adalah Reamur, maka output program adalah suhu dalam Celcius, Fahrenheit dan Kelvin, dst…

Versi Pascal yang saya pakai adalah Pascal versi Windows, tepatnya Pascal 1.5. Jika anda menggunakan Pascal for DOS / Turbo Pascal, silahkan ganti statement Uses WinCrt dengan Uses Crt dan diawal program utama ditambahkan dengan ClrScr.


Program KonversiSuhu;
uses wincrt;
var InpSuhu:real; {C=Celcius, R=Reamur, F=Fahrenheit, K=Kelvin}
    OutC, OutR, OutF, OutK:real;
    JenisSuhu:char;
    InpSuhuString:string; {var penampung input suhu dalam string}
    tempSuhu:real;        {var sementara untuk konver string ke real}
    ErrCode:integer;      {var untuk menampung error saat konversi string ke real}

label 100,200;

{program utama}
begin
     {menu}
     100: {label 100}
     write('Masukan jenis suhu C/R/F/K  : ');
     readln(JenisSuhu);
     JenisSuhu:=upcase(JenisSuhu); {mengubah jenis suhu ke upper case}

     if (JenisSuhu <> 'C') then
        if (JenisSuhu <> 'R' )  then
           if (JenisSuhu <> 'F' ) then
              if (JenisSuhu <> 'K' ) then
              begin
                 writeln ('Jenis suhu salah, silahkan ulangi!');
                 writeln;
                 goto 100;
              end;

     200: {label 200}
     write('Masukan besar suhu          : ');
     readln(InpSuhuString);
     val(InpSuhuString,inpSuhu,ErrCode);
     if ErrCode <> 0 then
     begin
        writeln('Data suhu yang dimasukan tidak valid, masukan data numerik!');
        writeln;
        goto 200;
     end;

     writeln;

     { hitung konversi suhu}

     writeln('Hasil Konversi Suhu, Untuk Suhu ', inpSuhu:6:2,' ',JenisSuhu);
     writeln('--------------------------------------');
     if (JenisSuhu = 'C') then {jika input suhu dalam celcius}
     begin
          OutR:=InpSuhu * 4/5;
          OutF:=(InpSuhu *9/5) + 32;
          OutK:=InpSuhu + 273;

          writeln('Suhu dalam Reamur      = ', OutR:6:2);
          writeln('Suhu dalam Fahrenheit  = ', OutF:6:2);
          writeln('Suhu dalam Kelvin      = ', OutK:6:2);
     end
     else if (JenisSuhu = 'R')  then  {jika input suhu dalam reamur}
     begin
          OutC:=InpSuhu * 5/4;
          OutF:=(InpSuhu * 9/4) + 32;
          OutK:=(InpSuhu * 5/4) + 273;

          writeln('Suhu dalam Celcius     = ', OutC:6:2);
          writeln('Suhu dalam Fahrenheit  = ', OutF:6:2);
          writeln('Suhu dalam Kelvin      = ', OutK:6:2);
     end
     else if (JenisSuhu = 'F') then  {jika input suhu dalam fahrenheit}
     begin
          OutC:=InpSuhu * 5/9;
          OutR:=(InpSuhu * 4/9) + 32;
          OutK:=(InpSuhu * 5/9) + 273;

          writeln('Suhu dalam Celcius     = ', OutC:6:2);
          writeln('Suhu dalam Reamur      = ', OutR:6:2);
          writeln('Suhu dalam Kelvin      = ', OutK:6:2);
     end
     else if (JenisSuhu = 'K') then  {jika input suhu dalam kelvin}
     begin
          OutC:=InpSuhu - 273;
          OutR:=(InpSuhu - 273) * 4/5;
          OutF:=((InpSuhu - 273) * 9/5) + 32;

          writeln('Suhu dalam Celcius     = ', OutC:6:2);
          writeln('Suhu dalam Reamur      = ', OutR:6:2);
          writeln('Suhu dalam Fahrenheit  = ', OutF:6:2);
     end;
     readln;
end. {end program}

Filed under: Pascal

Mengenal Barcode

Bagi anda yang ingin mengenal dan tau lebih jauh tentang BARCODE, silahkan kunjungi url http://pusatbarcode.wordpress.com. Banyak yang bisa diketahui disana, dari Barcode itu sendiri, printer pencetak barcode sampai scanner barcode.

Filed under: Journey

Keyboard Shortcuts pada Windows

Untuk dapat menilai seberapa mahirkah kita mampu mengoperasikan sistem operasi Windows pada suatu komputer, kita dapat lakukan dengan cara menanggalkan mouse yang ada di komputer tersebut, kemudian coba operasikan komputer tersebut tanpa menggunakan mouse alias menggunakan keyboard saja…!!! apakah anda mampu?, contoh hal yang dapat anda lakukan adalah coba buka Windows Explorer, buat folder baru di drive d, kemudian tempatkan sebuah file txt kosong didalam folder tersebut, lalu setelah itu anda kembali ke drive d. lakukan hal tersebut dalam waktu tidak lebih dari 1 menit. Mampukan anda melakukan hal itu???.

Kemampuan menggunakan keyboard (shortcut keyboard) dalam mengoperasikan komputer merupakan suatu nilai lebih yang akan menaikan standar diri anda, silahkan kunjungin url http://en.kioskea.net/faq/sujet-213-keyboard-shortcuts-for-windows untuk mengetahui lebih jauh shortcut-shortcut keyboard yang dapat anda gunakan dalam mengoperasikan sistem operasi Windows.

Filed under: Windows

Tutorial WordPress

Filed under: Uncategorized

Deret Fibonacci dengan Pascal

Apa sih deret Fibonacci? dan apa sih kegunaanya?
Deret Fibonacci adalah suatu deret matematika yang berasal dari penjumlahan dua bilangan sebelumnya,
Untuk lebih jelasnya silahkan kunjungi url http://id.answers.yahoo.com/question/index?qid=20071103230736AA1PeL0 atau http://id.wikipedia.org/wiki/Bilangan_Fibonacci

Kalau sudah mengerti apa itu deret Fibonacci dan kegunaanya, sekarang kita lanjutkan ke program yang akan kita buat untuk membuat deret tersebut. Ada beberapa referensi blog yang pernah saya lihat, seperti http://rizalp.blogspot.com/2008/11/algoritma-deret-bilprima-dan-deret.html, tapi disana tidak menggunakan array, jadi menurut saya gregetnya kurang.

Berikut ini source program untuk membuat deret Fibonacci dengan Pascal.


	program fibonacci;
	uses crt;
	var
	   n:integer;
	   i:integer;
	   deret:array[1..100] of longint;

	begin
		{deret fibonacci adalah deret yang merupakan hasil penjumlahan 2 bilangan sebelumnya}
		{7 awal deret fibonacci = 1,1,2,3,5,8,13,...}
		 clrscr;
		 write('Masukan jumlah deret :');
		 readln(n);
		 writeln;
		 for i := 0 to n-1 do
		 begin
			  if (i = 0) or (i = 1) then
				 begin
					  deret[i]:=1;
					  write(deret[i],' ');
				 end
			  else
				  begin
					   deret[i]:=deret[i-1]+deret[i-2];
					   write(deret[i], ' ');
				  end;
		 end;
		 readln;
	end.

Filed under: Pascal

Notepad++, Alat Bantu Programmer

Editor ini namanya hampir sama seperti text editor default Windows, tapi dilihat dari sisi keunggulan sangat jauh berbeda, seperti bumi dan langit.. he he… . Aplikasi ini mempunyai sintax highlight hampir semua bahasa pemrograman, jadi pasti akan sangat berguna bagi para coder. Aplikasi ini paling sering saya gunakan untuk mengedit Query yang komplek, buat Trigger dan Store Procedur.

Aplikasi ini free dan dapat diunduh di url : http://sourceforge.net/projects/notepad-plus/

Filed under: Application

Binding Data Pada jTable

Menggunakan VB atau C# dengan DataGrid-nya, seorang pemula tidak akan kesulitan untuk menampilkan data kedalam DataGrid, karena tinggal set property DataSource-nya saja, maka data akan ditampilkan, tetapi akan sangat berbeda jika menggunakan Java yang menyediakan jTable sebagai komponen penyaji data, karena sebelumnya kita harus tahu bagaimana konsep untuk menampilkan data kedalam jTable. Berikut adalah step-step yang bisa dilakukan untuk binding data ke jTable.


void bindTable(){
//step 1, deklarasi variable bertipe Vector
//mengapa Vertor dan bukan Array? karena vector fleksible, Array statis.
//---------------------------------------------------------
Vector cn = new Vector(); // variable untuk nama kolom
Vector row;// variable untuk satu baris data
Vector allRow = new Vector();// variable untuk semua baris data

//step 2, Memasukan nama-nama kolom kedalam objek cn
//---------------------------------------------------------
cn.addElement("NIM");
cn.addElement("Nama");
cn.addElement("IPK");

//step 3, masukan data-data
//---------------------------------------------------------
// masukan data kedua
row = new Vector();
row.addElement("980023");
row.addElement("Ketut Widi Astawan");
row.addElement(3.00);
allRow.addElement(row);

// masukan data kedua
row = new Vector();
row.addElement("980028");
row.addElement("Bayu Yulianto");
row.addElement(3.23);
allRow.addElement(row);

// masuka data ketiga
row = new Vector();
row.addElement("980017");
row.addElement("Sugeng Cahyono");
row.addElement(2.90);
allRow.addElement(row);

//step 4, buat objek tablemodel untuk model tabel
//---------------------------------------------------------
TableModel model =  new DefaultTableModel(allRow , cn);
// set model jtable
jTable1.setModel(model);

//step 5, modifikasi kolom jtable (jika diperlukan)
//---------------------------------------------------------
DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
TableColumnModel tm = jTable1.getColumnModel(); // ambil kolom2 ke TableColumnModel

//modifikasi kolom NIM
renderer.setHorizontalAlignment(JLabel.CENTER); // modifikasi aligment
renderer.setBackground(Color.GREEN);
TableColumn tc = tm.getColumn(0); //
tc.setPreferredWidth(5);
tc.setCellRenderer(renderer);

//modifikasi kolom IPK
renderer = new DefaultTableCellRenderer();
renderer.setHorizontalAlignment(JLabel.RIGHT); // modifikasi aligment
renderer.setBackground(Color.GRAY);
tc = tm.getColumn(2); //
tc.setCellRenderer(renderer);
tc.setPreferredWidth(5);
}

Jika data-data adalah hasil dari eksekusi query, maka kita tinggal mengganti step3 dengan looping record pada ResultSet.

Contoh :


.....
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
row = new Vector();
row.addElement(rs.getObject("NIS"));
row.addElement(rs.getObject("nama"));
row.addElement(rs.getObject("IPK"));
allRow.addElement(row);
}

Filed under: Java

Memilih Printer dengan CommonDialog pada VB 6

Cara menggunakan CommonDialog untuk memilih printer yang akan digunakan untuk mencetak :


Sub Cetak()
    On Error GoTo err_han
    ' hidupkan property CancelError untuk menangkap error saat cancel
    ' saat dipilih Cancel akan timbul error nomor 32755
    ' error tersebutlah yang akan kita tangkap untuk pembatalan
    Me.CommonDialog1.CancelError = True
    ' munculkan printer dialog
    Me.CommonDialog1.ShowPrinter
    ' contoh data yang akan dicetak
    Printer.Print "Test"
    Printer.EndDoc
    Exit Sub
err_han:
    If Err.Number = 32755 Then
        MsgBox "Cetak dibatalkan", vbInformation
    End If
End Sub

Filed under: VB 6

Membaca Angka Yang Sudah diformat Dengan Pada Java

angka 65000000, kalau diformat ke format German menjadi, 65.000.000,00. Nah … untuk membaca kembali angka yang telah diformat tersebut kita tidak bisa langsung membaca dan menampung kedalam variable (double, decimal, dll), karena akan terjadi error (kecuali mungkin kalau setting regional di OS adalah German/Indonesia).

Cara untuk membaca angka tersebut kembali adalah:


        NumberFormat nf1 =  NumberFormat.getInstance(Locale.GERMAN);
        Object nilai = null;
        try{
             nilai = nf1.parse("65.000.000,00");
        }catch(Exception ex){
            ex.getMessage();
        }

Filed under: Java

Memformat Angka di Java

Contoh penggalan program untuk memformat tampilan angka, selain dibawah masih banyak jenis cara yang dapat dilakukan untuk memformat angka.

Class yang perlu diimport :


import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.text.NumberFormat;
import java.util.Locale;

    void formatNumber(){
        double harga =6500000;
        // jenis pertama
        String strFormat0 ="####";
        DecimalFormat df = new DecimalFormat(strFormat0);
        System.out.println(df.format(harga));
        //output 6500000

        // jenis pertama
        String strFormat1 ="####.00";
        DecimalFormat df2 = new DecimalFormat(strFormat1);
        System.out.println(df2.format(harga));
        //output 6500000.00

        // jenis pertama
        String strFormat2 ="#,###.00";
        DecimalFormat df3 = new DecimalFormat(strFormat2);
        System.out.println(df3.format(harga));
        //output 6,500,000.00

        // jenis pertama
        String strFormat3 ="#,###.00";
        DecimalFormat df4 = new DecimalFormat(strFormat3,
                            new DecimalFormatSymbols(Locale.GERMAN));
        System.out.println(df4.format(harga));
        //output 6.500.000,00
    }

Filed under: Java

Develop Program vs Cerita Loro Jonggrang

Apaan hayo……?

Bandung Bondowoso menyanggupi permintaan Loro Jonggrang yang meminta dibuatkan 1000 candi dalam satu malam…, walaupun mas Bandung tidak bisa memenuhi… (baru kelar 999, karena kecurang mbak Jonggrang).

Hubungannya dengan develop program…?, 1000 candi bisa diibaratkan aplikasi yang komplek dalam dunia software, untuk membangun aplikasi tersebut dibutuhkan perencanaan yang baik, dan terkadang (mungkin sering kali) setelah tahap finishing coding kita perlu lagi balik ke perencanaan atau desain untuk perbaikan. Sebagai gambaran untuk membuat satu form saja, kita butuh menghandle segala event pada komponen, kita harus validasi input, mengatur layout, memformat tampilan data dan masih banyak lagi kerjaan lain untuk form tersebut.
Jadi untuk membuat aplikasi yang mendekati sempurna dibutuhkan waktu, tidak bisa selesai coding berarti aplikasi selesai, harus dilalui tahapan testing dan operasional baik oleh team develop ataupun oleh user.

Filed under: Journey