Introduction to Algorithm & Programming Session 5

Sekarang kita sudah sampai pertemuan ke-5, yaitu pertemuan mengenai pointer dan array. Pertama-tama mari saya jelaskan tentang pointer dulu.
Seperti yang kemarin diajarkan, pointer dari katanya ‘point‘ artinya menunjukkan. Maka guna dari pointer iyalah menunjukkan alamat yang dituju, seperti contoh:
int A,P;
A=5;
P=&A;       //lambang “&” disini adalah tujuan alamatnya
*P=30;     //lambang “*” disini artinya pointer
Maka secara otomatis, bila kita printf(“%d”,A). Yang akan muncul ialah 30.
Lebih tepatnya saya jelaskan dengan diagram ini63463

Bagian atas ialah alamatnya (2009-2011 dst) dan alamat tersebut random, dari komputer.
Bawahnya itu isinya, kita dapat lihat bahwa di tmpt P, diisi dengan alamat A

Jadi, saya sebutnya itu cara zig zag, dimana dicek dulu isi P. Ternyata isi P itu alamat A, maka dicek alamat A isinya apa. Dan ternyata isinya itu ialah 5. Tetapi karena kita ubah *P=30, maka otomatis nilai dalam A tersebut juga ikut keganti.
Uniknya, dipointer itu bisa pointer ke pointer, alhasil seperti ini :
A=5;
P=&A;
PP =&P;
*P=30;
**PP=40; //lambang “**” disini adalah pointer ke pointer, maka kita tulis 2.
Sekian pointer~

Sekarang kita lanjut ke “Array”. Array itu berfungsi untuk menyewa tempat, seperti gambar yang diatas. Cnth, saya memasukkan int array[10]; maka akan disewa 10 kotak seperti yang diatas. Jadi gunanya tuh, seperti kita tidak erplu ketik 1-1 kayak nilai1,nilai2,nila3…. dan seterusnya. Itu merupakan salah satu contoh penggunaan array. Dan ciri khas coding array ialah, bila kita menyewa seperti cnth : array[10]. Maka dihitung dari array[0],array[1] – array[9]. Jadi mulai hitungnya dari 0.

Kita bisa menentukkan nilai array dari awal, seperti array[5]={2,4,6,8,10};
Maka artinya, array[0]=2 lalu array[1]=4 dan seterusnya.
Kita juga bisa menulisnya seperti array[ ]={5,6,7};
Maka artinya, array yang kita sewa total ialah 3. PENTING, kita harus menyatakan variabelnya langsung disitu. Jadi gak boleh ditinggal array[ ];

Contoh tipe penggunaan array :

int Arr1[10];
Arr1[10] = {1, 2, 3, 4, 5};  // error karena baru 5
Arr1 = {1, 2, 3, 4, 5};  // error karena gak ada “[ ]”
Arr1[10] = 12;  // error max 9
Arr1[0] = 23;  // ok

Array yang tadi saya jelaskan baru 1 dimensi, nanti ada array [x][y] yaitu 2 dimensi, yang saya gunakan untuk membuat tic-tac-toe. Ada array 3 dimensi, sampai n dimensi. (saya juga kurang ngerti bagaimana implementasinya :p)
Terima kasih telah membaca!

Posted in Posts | Leave a comment

Introduction to Algorithm & Programming Session 4

Sekarang kita sudah sampai ke dunia Repitition dimana logika sangat dibutuhkan dan membuat orang stress. Di sesi-4 ini, kita belajar antara lain :
-For
-While
-Do-WhileSebelum mulai, kita harus tau definisi Repition, yang dalam bahasa Indonesianya berarti Reptisi, Satu atau lebih instruksi yang diulang untuk jumlah waktu tertentu.

Pertama, mari kita belajar dari yang paling ribet menurut saya, yaitu for
Codingan for merupakan berikut :

for(expr1; expr2; expr3) statement;

Dan jika lebih dari 1 statement, maka

for(expr1; expr2; expr3){
statement1;
statement2;
…….
}
Keterangan:
expression 1: Inisiasi/Pendefinisian
expression 2: Kondisi
expression 3: increment/decrement

Jadi, statement tersebut akan terus berjalan, apa bila expr2 (kondisi) terpenuhi.
Jadi sperti cnth, expr1 adalah i=1. expr2 adalah i<5. expr3 adalah i++
Artinya, pertama disediakan satu i, kemudian i tersebut akan ditambah sebanyak 1x setiap putaran (dari i++). Pengulangan putaran tersbut akan berjalan, sampai i lebih dari 5 sehingga kondisi tidak lagi terpenuhi.

Kedua, kita belajar do-while dan while. Nampaknya ini sudah pernah saya bahas sebelumnya tapi saya ulangin lagi saja.
Cnth codingannya seperti ini :
do
{
statement;
}
while(condition);
DAN
while (condition)
{
statement;
}

Kita bisa lihat dari urutan codingnya, bahwa kalau di do-while. Dia lakukan statementya dahulu baru dicek kondisi. Sebalkinya dengan while, maka dicek dolo kondisinya baru dilakukan statementnya. Mengerti? Enggak? Gpp, banyak latian baru bisa.

Sekarang, ada tambahan sedikit. Kalau kita liat diatas kan, statement akan berhenti dikarenakan pengaruh dari kondisi. Tetapi, sebenarnya ada cara lain selain dari patokannya kondisi. Kita bisa menggunakan Sentinel-Break-Continue.

Contoh sentinel, bila kita ingin orang memasukkan suatu angka dan angka tersebut tidak boleh 0 (enol). Maka kita bisa tulis   while (width != 0) && (height != 0);
Contoh break, bila kita ingin stop saat x sudah 13. (Sejujurnya saya jga krg ngerti gunanya)
   for(int x=1; x<=20; x++) {
            if (x == 13) break;
            printf(“%d “, x);
            }
Maka nanti saat di 13, looping akan stop, wait a minute! take a sip put some liquor in it.
Contoh continue, bila kita ingin skip suatu statement.
           for(int x=1; x<=10; x++) {
           if (x == 5) continue;
            printf(“%d “, x);
            }
Maka nanti yang di print adalah 1,2,3,4, 6,7,8,9,10

Memang bingung, saya juga noob dalam dunia looping tetapi kalau kita sering latihan harusnya bisa. Practice makes perfect~

Posted in Posts | Leave a comment

Introduction to Algorithm & Programming Session 3

Sesi 3 kali ini kita diajarkan cara menggunakan operasi if-else dan switch-case.

9

Flowchatnya

Pertama, tentang IF-ELSE. Dari arti bahasa inggrisnya kita mengerti bahwa itu adalah “JIKA” dan “MAKA”. Artinya ada 2 syarat yang akan berjalan, JIKA ini MAKA …., JIKA TIDAK ini maka …., contoh codingnya :
if (expression) statement1;
else statement2;

Jika ada lebih dari 1 “IF” maka disebutnya NESTED-IF. Artinya IFnya semakin banyak, contoh codingnya :
if (expression) statement1;
else  if (expression) statement2;
else   if (expression) statement3;

Bila anda sudah pro coding maka if bisa diganti dengan ?: Operator. Cnth coding :
Versi IF normal
if(a > b)
max_value = a;
else
max_value = b;

Versi  ?: Operator
max_value = (a > b) ? a : b;

Kedua, tentang SWITCH-CASE. Sebenarnya saya juga susah jelasinnya, intinya tuh di tukar. Contoh codingnya :

switch(op){
case(‘+’): printf(“ = %f”, val1 + val2); break;
case(‘-’) : printf(“ = %f”, val1 – val2); break;
case(‘*’) : printf(“ = %f”, val1 * val2); break;
case(‘/’) : printf(“ = %f”, val1 / val2); break;
default :   printf(“ unknown operator!”);
}

Artinya tuh, yang dicek itu dari dalam kurung case bila benar maka akan dilanjutkan printah sebelahnya.

8

Flowchartnya

Ketiga, kita belajar dengan tipe-tipe error tetapi secara teori, pastinya kita nanti akan kerasa errornya dimana. (Nightmare para coders)

  • Compile-Time Error –caused by syntax error
  • Link-Time Error –success fully compiled, but cause link error
    –caused by no object code at link time
  • Run-Time Error –successfully compiled, but error at runtime. Usually caused by numerical operation such as: overflow, floating point underflow, division by zero, etc.
  • Logical Error  –wrong result caused by incorrect logical flow/algorithm

Kesimpulan sesi ini itu ada 3 types of selection in C, secara use memang mudah tetapi secara logika itu membuat pala stress:
–if
–if-else
–switch-case

Posted in Posts | Leave a comment

Introduction to Algorithm & Programming Session 2

Tadi kita mendapatkan kelas algorithm dan progamming, dan kali ini kita belajar banyak hal yang cukup membosankan lol.  Kita belajar tentang operatOR dan operatAND
Based on its operation type, operator can be grouped as:
–Arithmetic Operator  = operates in mathematical function.
* Modulo = untuk mengetahui hasil sisa, cnth : 10%2 = 0 (sisa 0), 15%2=1 (sisa bagi 1)

Arithmetic–Logical Operator = operand with TRUE or FALSE valuebum–Assignment Operator = maksud dari “=” seperti berikut: a=b maka artinya b dimasukkan ke a. Tapi kalau ingin mengatakan a SAMA DENGAN b, maka a==b.
x = 2;  // constant
x = y;  // other variable
x = 2 * y;  // expression
x = sin (y);  // function

–Relational Operator = Use to compare to values with TRUE or FALSE result15–Bitwise Operator = 151–Pointer Operator = will be discussed on session 13-14

Posted in Posts | Leave a comment

Introduction to Algorithm & Programming

Hari kamis , tanggal 1 Oktober 2015 kami diadakan Big Class yang berisi mahasiswa-mahasiswa dari jurusan GAT (Game Application & Technology), MAT (Mobile Application & Technology) dan Cyber Security.

Kami sangat beruntung karena diundang guest lecturer yang menurut saya sangat keren, dia merupakan alumni BINUS University tahun 2001 (Kalau tidak salah). Guest lecturer tersebut tidak menjelaskan kita secara material, yaitu dengan slide namun dia menceritakan kita tentang 5 term di programming yaitu OOP (Object-Oriented Programming), antara lain :  Continue reading

Posted in Assignment Blogs | Leave a comment

Organization Skill

Pas dulu kita sekolah, tentunya kite sering dengar kata “ekstrakurikuler” yang mungkin disingkat ekskul ataupun ex-kul (biasa saya :p). Di kuliahpun ada yang mirip seperti itu, namanya UKM, Unit Kegiatan Mahasiswa. Dengan UKM ini kita dapat meningkatkan OS  (Organization Skill) kita. Banyak sekali organisasi yang ada di BINUS, tetapi saya tidak masuk organisasi seperti HIMTI, melainkan saya masuk salah satu UKM di BINUS. Sebelum saya jelasin tentang OS, saya sharing tentang UKM dulu siapa tau dapat membantu anda untuk memilih tempat yang bagus untuk meningkatkan OS~

Secara pribadi, saat saya tau UKM apa saja yang ada di BINUS, saya cukup kaget karena jaman saya sekolah dulu hanya 5-7 saja dan ketika masuk BINUS sayapun bingung mau pilih yang mana. UKM yang cukup terkenal (bagis saya) antara lain : BNCC, BinusTV, BVoice, Nippon Club dll. Tentunya saya tidak membandingkan UKM satu dengan UKM lain, tetapi secara mata telanjang, banyak yang masuk ke UKM yang saya sebutkan tadi karena lebih menarik. Continue reading

Posted in Assignment Blogs | Leave a comment

Academic Orientation

Academic Orientation, atau yang biasa disingkat dengan AO bagi saya hal yang sangat penting karena selain kita belajar basic dari programming, kita juga diajarkan cara mengerjakan ujian di Binus terutama ujian codingnya karena cukup membingungkan. Kita juga mendapatkan kesempatan untuk bertemu 3 orang terpenting di GAT yang salah satunya ialah ketua jurusan kita, Michael Yoseph Ricky, S.Kom, MM.

28

Ketua Jurusan GAT : Michael Yoseph Ricky, S.Kom, MM

Continue reading

Posted in Assignment Blogs | Leave a comment

General Orientation

Pengalaman saya saat GO, General Orientation itu kurang saya ingat karena sudah 1 bulanan yang lalu. Yang paling saya ingat saat GO ialah FEPnya. Saya masuk gelombang pertama maka saya masuk di ABN16. Saat GO berlangsung, kita sedang dalam fase FEP (Freshment Enrichment Program).

1438439455096

ABN16 + Para BC

Continue reading

Posted in Assignment Blogs | Leave a comment

Strengthening Harmony & Inspiring New Experiences

Before I start sharing my experiences in this year’s HTTP, let me explain briefly what this year’s theme is.
If you read the title then you probably know it already, but for those who are too lazy to read it, it’ shortened to SHINE. That’s about it I guess, I don’t want to go to details ’cause you can read about it in their website www.himti.org
SHINENow back to the main topic, what are my first thoughts about HIMTI? Well to start off, I’m not too keen about the event, it just doesn’t get too me. However, they keep telling me that it’s a 1-chance offer. So yeah, why not (lol).
Let’s skip the minor details and head on to the event itself.

 We were asked to meet in BINUS Anggrek’s administration office early in the morning. Well of course, I don’t want to be late for the bus so my friend and I arrived there 30 minutes before the meet-up time. We waited for about 10 minutes and then 2-3 buses arrived. Both us head on to the committee and they did something to the ticket. After that, we waited in the bus. Long story short, we arrived at the place.

After arriving, we fill-out our NIM in the laptops and then there’s this area where we can try games made by BINUSIANs. It’s a shame though, I wanted to try all of them but the committee asked us to enter the auditorium. I thought that the event was going to start, but turns out we ended up watching Big Hero 6 lol. 1-2 hours passed and then *drum rolls* the event finally started. After the tremendously long speeches, we got a chance to see all our head of faculties which is cool because the slide shows who are the important people in your faculties 🙂 After that… I didn’t quiet remember, I think there were games

which fails to attract the crowd in joining the game. And then… we had lunch, or to be more precise snacks, cause the food they gave us didn’t even fill half of my stomach (lol). Aside from that, I got free Bear Brand milk. Moving to the future, we got a chance to meet 2 technopreneur BINUSIAN which is quite motivating. Moving to the last moments of the event, there were bands and doorprizes which of course I didn’t win. Then we had a music party or to be more precise, a rave. When we were having the rave, all I was thinking was “Where are all the important people? Are they joining us in this rave?”.

at the raveAfter the event ended, we were given goodie bags which contain some merchandises and a free t-shirt, which is probably the best part of the event :p
That’s about it I guess, I only share what I remember the most. I’m sorry if my blog offended anyone from HIMTI or anywhere. My advice & critic for the next HTTP : better food, faster services, cooler performance, less boring visualisation and more cr
eative flash mob

Posted in Assignment Blogs | Leave a comment

Experiencing Binus

Hai semua, nama saya Andy Lukito dan saya adalah BINUSIAN 2019. Sejujurnya saya kurang tau mau mulai dari mana, karena walaupun saya baru 1 bulan di BINUS, tapi pengalamannya sudah banyak dan unik-unik.

Maka dari itu, saya bagi pengalaman saya menjadi  part, antara lain:

1. GO (General Orientation)

2. UKM (Unit Kegiatan Mahasiswa)

3. AO (Academic Orientation)

4. HTTP (HIMTI TOGETHERNESS AND TOP PERFORMANCE)*

*for some reason I wrote it in English
Posted in Assignment Blogs | 1 Comment