Monthly Archives: January 2014

Indentasi, Kebiasaan Programming Yang Baik

Indentasi dan spacing

Indentasi adalah menambahkan spasi di awal baris-baris program agar program mudah dibaca, sedangkan “spacing” adalah penambahan spasi pada kode, misalnya di antara dua parameter, di sekitar operator, dan lain-lain. Tujuannya sama, yaitu untuk membuat program lebih mudah dibaca. Menurut saya sih hal ini yang paling penting. Soalnya, tanpa indentasi dan spacing, dijamin kita bakalan kesulitan mencari bug-bug dan mempersulit orang lain untuk membantu kita mencari bug kita

Contoh program tanpa indentasi dan tanpa spacing:

var
n:integer;
i:integer;
begin
readln(n);
for i:=1 to n do
begin
if(i=93)then
begin
writeln('ERROR');
break;
end;
if(i mod 10=0)then
continue;
writeln(i);
end;    
end.

Contoh program dengan indentasi tetapi tanpa spacing:

var
    n:integer;
    i:integer;
begin
    readln(n);    
    for i:=1 to n do
    begin
        if(i=93)then
        begin
            writeln('ERROR');
            break;
        end;
        if(i mod 10=0)then
            continue;
        writeln(i);
    end;    
end.

Contoh program dengan indentasi dan dengan spacing:

var
    n: integer;
    i: integer;
begin
    readln(n);

    for i := 1 to n do
    begin
        if (i = 93) then
        begin
            writeln('ERROR');
            break;
        end;
        if (i mod 10 = 0) then
            continue;

        writeln(i);
    end;    
end.

Nah, gimana? Enakan make indentasi kan? ~

Advertisements

CF Round #224 (Div 2), From Specialist to Expert

EXPERT!!!

Well, sedikit info tentang CF itu sendiri. CF adalah singkatan dari “CodeForces”, sebuah online judge ( tempat latihan programming ), jadi biasanya tiap hari tertentu ada yang namanya CF Round, kalau kita ikut itu akan mempengaruhi rating kita. Bisa naik dan bisa turun tergantung performa kita dalam round itu sendiri. Pertama kali gw ikut CF, gw newbie banget, saking newbienya sampe emang dapet rank Newbie ( Newbie itu rank terendah loh ). Well, gw gak cupu selamanya juga sih, dengan cukup latihan, skill gw jadi lumayan, jadi bisa jadi Specialist bahkan sampe Expert warnanya keren loh :v ). Jujur aja emang gw nyangka rating gw bakal naik dari 1473 ke 1500-an. Yups, dugaan gw bener, dan yay, rating gw naik 68 😀 . Sebenarnya mestinya bisa naik lebih tinggi lagi, tapi program gw di problem C terkena RTE di testcase resminya.

 

Sedikit bahasan versi gw ( Yg gw kerjain dan yg dapat idenya )

Problem A – Ksenia and Pan Scale

Inti dari soal ini sendiri hanya implementasi saja, cara kerja program gw sih simple, pada baris pertama, cek berapa banyak weight yang ada di kiri dan weight yang ada di kanan, terus gw simulasiin, looping huruf di baris” kedua

  • Jika weight kiri > weight kanan maka tambahkan karakter di kanan
  • Jika weight kanan > weight kiri maka tambahkan karakter di kanan
  • Jika weight sama tambahkan di mana saja

Terakhir cek, jika kiri = kanan maka cetak hasil akhir, kalau kiri ≠ kanan cetak “Impossible”

 

Problem C – Arithmetic Progression

Arithemetic Progression ini bisa dibagi dalam beberapa kasus kecil, (misalkan a = suku pertama, n = banyaknya suku, m = suku terakhir, b = beda)

  • Jika n = 1 maka cetak -1 karena akan ada tak terbatas kemungkinan barisan aritmatika
  • Jika isi dari semua array sama, cetak angka angka itu juga
  • Jika sebuah barisan itu sudah merupakan barisan aritmatika, cetak a-b, m+b
  • Jika n = 2 kita perlu mengecek kemungkinan selain a-b dan m+b yaitu (a+m)/2 . Jika (a+m)/2 adalah sebuah bilangan bulat cetak dalam urutan a-b, (a+m)/2 , m+b , jika bukan bilangan bulat cukup cetak a-b, m+b
  • Jika ada satu angka yang menghilang dari barisan itu, cari lah menggunakan looping lalu cetak bil tersebut
  • Semua kasus lain akan menghasilkan 0 (Tidak bisa terbentuk barisan aritmatika)

 

Sekian dari pembahasan singkat saya ~

Read the rest of this entry

My First Post

Umm, sebenarnya dari pertama gw kurang TERTARIK sih dgn bkin blog :v , tapi karena dikasih tugas disuruh bikin blog, dengan terpaksa yah aku harus bikin ._.
Rencananya sih di sini mau cerita pengalaman hidup gw, share beberapa pengetahuan gw ( kalau misalnya gw ada waktu, gw orangnya sibuk :v ).

That’s all for my first post ~