Tampilkan postingan dengan label kuliah. Tampilkan semua postingan
Tampilkan postingan dengan label kuliah. Tampilkan semua postingan

Selasa, 09 Agustus 2011

Semester 5,"Hey, man! It was just a first day!"

Ga terasa, ternyata gue udah memasuki semester 5 lagi aja. Rasanya baru kemarin gue jadi anak kuliah, sidang terbuka di Sabuga, ikut ProKM 2009, diajarkan Salam Ganesha, dan banyak hal baru saat itu. Sekarang, gue bukan lagi anak kemarin sore yang baru jadi 'mahasiswa', gue udah tingkat 3. Tapi, apa aja yang udah gue perbuat 2 tahun ini? Apa aja yang udah gue dapat di bangku kuliah? Pembelajaran apa yang gue peroleh dari lingkungan kampus ini? Untuk 2 pertanyaan terakhir jawabannya BANYAK tapi gue masih butuh banyak ilmu, pengalaman, dan pembelajaran lainnya. Dan untuk menjawab pertanyaan pertama, mm, entahlah. Gue juga ga tau apa aja, apakah yang gue lakuin semua punya arti buat gue atau orang lain? If it's a yes, it could beI've done something.

Mau ngomongin soal kuliah aja deh sekarang. Hm, semester ini gue ngambil 22 sks lagi kayak semester kemarin. Gue ambil Sistem Operasi(OS), Jaringan Komputer(Jarkom), Sistem Informasi(SI) yang merupakan mata kuliah wajib, ditambah Strategi Algoritma(Stima), Sistem Basis Data(SBD), Rekayasa Perangkat Lunak Lanjut(RPLL) yang merupakan mata kuliah pilihan wajib IF, dan satu mata kuliah non prodi yang gue ambil, yaitu Perilaku Organisasi.

Kalau tingkat 2 jam kuliah gue didominasi oleh kuliah siang *bahkan semester 4 kuliah paling pagi jam 1 siang kecuali praktikum*, nah, kali ini jadwal gue pagi semua. Udah kayak anak sekolahan lagi. Tadi hari pertama gue masuk, gue ada kelas dari jam 7 pagi sampai jam 1 siang tanpa istirahat, terus lanjut lagi jam 4 sampai jam 5 sorenya. Kuliah hari pertama, yang ada dipikiran gue, "Ah, paling juga kenalan dulu sama dosennya, terus slide awal kalo langsung mulai juga baru pengantar doang biasanya". Berpikir begitu, biar agak rileks. Namun, kenyataan yang terjadi di kelas adalah satu mata kuliah langsung mengeluarkan tugas kecil atau biasa disingkat tucil, dan satu mata kuliah lain telah memberikan PR, dan gue udah ga paham lagi betapa sadisnya hidup ini *lebay*. Yaaahh, sebagai mahasiswa kita cuma bisa menerima wejangan dari dosen apapun itu bentuknya.

Huft, melihat kondisi perkuliahan yang ga bisa main-main lagi, kayaknya gue harus bener-bener bisa me-manage diri gue biar ga sakit-sakitan, waktu yang gue punya biar semuanya tidak ada yang terbengkalai, dan gue harus berusaha mati-matian semester ini. Hahaha.

Ya udah lah ya, toh kita ngejalaninnya rame-rame, bareng-bareng seangkatan. Yang lain juga begitu. Kakak-kakak tingkat juga dulu pernah mengalami hal yang sama dan mereka masih bisa survive, kenapa gue ga?! Ayo semangat! Buat semua kawan senasib sepenanggungan yang akan melewati semester 5 dan tingkat 3 ini dengan luar biasa! :) :) :)

Senin, 01 Agustus 2011

Pertemuan Unik (lagi)

Sabtu kemarin, setelah diadakan sebuah kegiatan yang disebut Biner (Bakti Informatika untuk Negeri) -yang merupakan salah satu bentuk pengabdian masyarakat dari Himpunan Mahasiswa Informatika ITB-, gue, Hapsari, dan Arie mau makan siang nih ceritanya. Terus kita bertiga makan nih di McDonald simpang. Gue sama Hapsari nyampe duluan, yaaah, soalnya naek motor. Gue dibonceng Hapsari yang notabene merupakan ketua geng motor kerudung tengkorak *ehehe, yang ini becandaan yak*.

Lanjut nunggu Arie nih. Hapsari beli ice cream cone dulu deh, terus kita berdua naek ke lantai atas buat sekedar duduk-duduk. Niatnya pengen duduk di sofa gitu biar empuk, tapi penuh. Jadi duduk di kursi biasa deh. Luckily, beberapa detik kemudian -ga secepat itu juga sih :p-, Hapsari ngeliat ada yang beranjak dari sofa nan empuk tersebut. Jadi, gue sama Hapsari pindah ke sana sebelum tempat tersebut diambil orang lain :D

Duduk-duduk deh di situ sambil ngobrol-ngobrol. Beberapa menit kemudian Arie pun nongol. Udah gitu, pesen makanan deh. Udah dateng semua, just say Itadakimasu ---> ini bener ga yak tulisannya? :P

Lagi enak-enak ngobrol, tiba-tiba ada seorang bapak yang membawa 2 orang anak dan duduk di sebelah kita bertanya, "Kakak, kakak kuliah di mana?" Awalnya kita ga sadar, tapi bapak tersebut sedikit menepuk pundak gue. Baru deh, kita jawab, "Oh, di ITB, Pak" sambil senyam-senyum ga jelas :D

Nah, terus, dari sana berlanjut deh percakapan di antara kami berempat. "Jurusan apa?" "Informatika,
Pak" *ya, masih basa basi kos kitu lah biasa* "Tiga-tiganya satu jurusan?" "Iya, Pak. Informatika semua"
Bapak tersebut mulai deh keliatan seneng gitu buat ngobrol.

Bapak X(BX) : "Oh, saya juga dari ITB, dari teknik elektro".
Bertiga(BT) *atau salah satu dari kami bertiga* : "Ooooooo"
BX : "Kalian angkatan tahun berapa?"
BT : "2009, Pak"
BT : "Kalau Bapak alumni tahun berapa, Pak?"
BX : "Oh, saya tahun 90"
Wew, udah beda 20 tahun booooo XD

Dari percakapan simple tersebut keterusan deh bapak tersebut cerita tentang gimana dulu beliau kuliah, magang di lab dan kerja di LAPI ITB dengan gaji 100 ribu rupiah dimana ketika itu biaya kuliah satu semester hanya 21000 rupiah (jauh banget kalo dibandingin sama kita), sampai awal mula beliau bekerja di Unilever *ini sebut-sebut merk gapapa lah ya*, pengalaman-pengalaman beliau di dunia kerja dan sebagainya. Ia pun bercerita tentang bagaimana dan alasan beliau melanjutkan pendidikan di S2 pada bidang yang berbeda yakni akuntansi, membicarakan tentang softskill yang diperlukan di dunia kerja nantinya seperti keterampilan manajerial, dan banyak hal yang sedikit banyak kami bertiga bisa pelajari dari beliau *yah, biasa, seperti kata pepatah, ambil sisi baiknya, yang buruk jangan ditiru*.

Masih banyak yang sebenarnya pengen gue ceritain lagi tentang obrolan yang seperti sharing tersebut. Tapi udah malem, dan besok adalah pertama kali gue sahur *udah Ramadhan lagi nih, ga terasa ya :)* Namun, pesan moral yang ingin gue kasih di sini adalah siapapun orangnya, dimanapun tempatnya, kapanpun waktunya, kita akan selalu bisa mendapatkan sedikit banyak pembelajaran, bahkan dari percakapan dengan orang yang belum kita kenal sekali pun, it began with such small talks. Pelajaran yang jarang kita dapat dan hampir tidak mungkin kita dapat di bangku kuliah adalah dengan sharing seperti itu :)

*Maaf ya, ini penyusunan postingnya amburadul alias acak-acakan dan tidak tersusun dengan baik, maklum faktor udah ngantuk :D. Nanti kalau sempat saya 'revisi' deh :P

Kamis, 24 Februari 2011

Seandainya

Seandainya kemarin gw ga mutusin buat basket, mungkin kaki kanan gw ga akan bengkak kayak gini dan gw juga ga mungkin ga dapet kelompok tubes kayak gini!
Seandainya gw ga peduli sama orang-orang yang nyuruh gw ke lapangan, seandainya gw ga peduli sama orang yang ga tidur dan tetep disuruh tanding. Toh, begitu gw masuk lapangan sebentar dan cedera juga di bangku penonton dan dari massa himpunan gw sendiri malah ada yang bilang, “Mainnya ga ikhlas sih!” Gw ga mau nengok ke belakang, lebih baik gw ga tau siapa orangnya.
Gw cuma berharap seandainya gw ngambil keputusan lain kemarin!

Selasa, 25 Januari 2011

Awal Semester Empat

Kuliah perdana yang seharusnya dilaksanakan pukul 7 pagi di ruang 9008 dengan mata kuliah Kesehatan Lingkungan ternyata ga ada doseeeen! Ruangan dipindahin lagi. Gue telat 10 menit. Terus gue sms Amel yang gue tau dia ngambil KesLing juga. Eh, tiba-tiba dia bilang 9008 kosong. Terus mau nyoba ke 9213 ruang K2. Eh, Amel sms katanya dipindahin ke rsg. Gue nelpon Amel deh, soalnya gue ga tau tuh ruangan ada di sebelah mana dan di gedung apa. Begitu ketemu Amel, ternyata dia juga kaga tau rsg itu di mana. Akhirnya gue nelpon Alfian yang pasti tau itu ada di mana. Dengan perasaan khawatir Alfian ga mungkin ngangkat telpon gara-gara udah ada dosen. Ternyata begitu Alfian ngangkat telpon, terdengar suara berisik dan ramai. Fiyyyyuuuh! Artinya dosen belum ada. Gue tanya lah si ruangan yang disebut rsg itu di mana. Dia bilang di plano lantai 6. Busyyyet?! Berharap ada lift dan emang ada sih, hehe:D


Gue sama Amel langsung buru-buru mencet tombol lift. Nunggu lift lama banget, begitu pintu lift terbuka langsung deh kita berdua masuk. Mau mencet lantai 6......... "Mel, mana angka 6nya ya?" tanya gue. "Loh, iya! Udah pencet 5 aja, siapa tau ada tangga lagi." Okelah, dipencet tuh angka 5, terus begitu keluar ada Sule. Jalan ke kiri dikit ada tangga deh. Akhirnya ketemu sama anak-anak IF yang  lain. Semua yang ngambil KesLing masih ada di depan rsg. Ternyata kata Alfian rsg itu ruang serba guna. Haduh, maaf deh, gue norak :P

Udah hampir jam setengah delapan, kita baru boleh masuk ruangan. Nunggu lagi sampe jam 8an, hmm, masih ga ada dosen. Satu per satu mulai ninggalin ruangan karena sepertinya memang ga akan ada dosen. Sampai akhirnya, anak-anak HMIF pun keluar ruangan tersebut. Kuliah perdana pun dimulai dengan ketidakhadiran dosen. Hal yang sangat klise dan biasa.

Jam 8 ada pertandingan voli di ajang olimpiade KM ITB IV antara HMIF vs Penerbangan (maap, lupa nama himpunannya PN itu KMPN atau HMPN? Hehe. Sebut saja PN). Akhirnya kabur dari KesLing, kita dukung voli HMIF deh. Eh, tapi kalah. Hm. Ga pa pa. Yang penting udah berusaha dan memberikan yang terbaik *kumat deh sok bijaknya*

Beres voli gue langsung cabut ke kosan. Soalnya kuliah mulai lagi juga jam 2. Sebelum ke kosan, gue ke kantin Salman dulu. Sarapan. Tadi pagi ga sempat sarapan di rumah. Nah, sesampainya di kosan, gue langsung beres-beres kamar. Kacau nih kamar udah ditinggal liburan. Gue nyuci baju juga yang udah seminggu gue taruh di kosan. Hhhh. Repooot. Tapi kewajiban sebagai empunya kamar. Haha.

Onlen-onlen lagi deh. Terus jam 2 ngampus lagi, dilanjutin sama kuliah Orkom yang didongengin sama OOP sang mata kuliah dewa semester ini. Gue sekarang cuma  berharap, semoga gue bisa mengikuti sisa semester ini yang masih panjang dengan baik. Berharap nilai gue A semua, walaupun itu sepertinya hanya mukjizat. Semoga gue bisa mendapatkan hasil yang terbaik. Amin. Ingetin gue ya, buat berusaha lebih keras dan semaksimal mungkin ya semester ini XD

Minggu, 12 Desember 2010

she wrote something about me in her blog

~raches :*

akhir-akhir ini jadi sering lagi main sama raches. hehehe. seneng deh :)
soalnya kan jadwal if sama sti tuh saling berkomplemen. pas yang satu kuliah yang satu nggak„ pas yang lain kuliah, yang satu nggak. satu-satunya waktu kita sekelas cuma tiap rabu pagi yaitu pkn dan agama yang beberapa kali kita bolosin. hehhehe

jadi mengingat-ingat, kenapa yaa aku deket sama raches? padahal seinget aku dulu awal-awal banget TPB dia termasuk unsur yang diskrit. yang maennya ama cowok-cowok diujung sono (baca : fitra, ardhi, rano, ). trus kalo istirahat suka syung hilang entah kemana. iya nggak sih?

hemm„ mungkin itu masalah intensitas juga. hehehe, soalnya saya bener-bener sekelas sama raches itu 1 tahun pisan pas tpb. dari mulai kelas stei 3 untuk pelajaran2 yang dibaginya mod 4, pti-a sama dre yang dibaginya mod 6, sampe pelajaran-pelajaran yang entah dibagi karena apa seperti bahasa inggris.
selain itu nim kami nggak terlalu jauh juga, 263 sama 267.. jadi banyak tugas-tugas akhir semester yang menyebabkan kita end up jadi satu kelompok.

tapi entahlah, bahkan kalau harus memilihpun akhirnya kita jadi satu kelompok. hahaha, jadi ada berapa tugas akhir yang bikin kita bareng ya ches? kpip, fisika 1, fisika 2, tubes pti, ttki„ terus juga bahasa inggris kita sekelompok bikin nemenin alvin bikin essay. hahaha. ada yang kelewat nggak ya? hemmm…
aku suka banget sama yang namanya raches karena dia kecil dan mukanya masuk di tangan saya jadi ngingetin saya sama temen sma saya. hahha

aku juga suka sama raches soalnya dia termasuk orang2 yang nggak marah buku-bukunya (dan bahkan anggota tubuhnya) dicoret-coret untuk memuaskan hasrat iseng saya. hehehe. apa bahkan diem aja yaa??
dia juga orang yang mau aja ngedengerin cerita-cerita saya yang meskipun itu udah diulang berkali-kali dan dia cuma bilang “ini udah ke (berapa) kali, git” …

kadang-kadang jalan pikiran kita sama„ jadi ngetawain sesuatu bareng, ngatain sesuatu bareng, ngomongin sesuatu bareng, ngegosipin sesuatu bareng. hahaha

atau juga kadang-kadang pikiran kita nggak sinkron jadi kita ngobrol dengan membicarakan topik yang berbeda. gw rasa bagian ini kita udah super duper random banget, cuma butuh didengerin, nggak peduli lawan bicaranya ngomongin apa. terus kita ketawa bareng ngatain diri sendiri.
hahahahahaha

semester depan kayaknya kita nggak ada yang sekelas deh, gimana yaa?? kita nggak bisa “ngobrol serius” lagi rach :))

Selasa, 07 Desember 2010

LED PingPong [DUK- part2]

Pada postingan sebelum ini, baru diulas tentang controller dari LED PingPong yang gue buat sebagai projek akhir dari kelas Praktikum Sistem Digital. Nah, sekarang kita ulas tentang rangkaian utamanya yang merupakan Top Heirarchy dari semua rangkaian yang digunakan.

Dalam membuat rangkaian LED PingPoing ini, digunakan beberapa rangkaian dari praktikum sebelumnya, yaitu bcd_counter, bcd_7segment, dan clockdiv. Rangkaian bcd_counter digunakan untuk menghitung skornya dan bcd_7segment digunakan untuk menampilkan hasilnya ke dalam 7segment pada board FPGA. Clockdiv sendiri berguna untuk mengatur clock sehingga saat implementasi pada board FPGA, pergerakan LED yang dianalogikan sebagai pergerakan bola dapat terlihat.


Rangkaian yang gue rancang kayak gini :


LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;


ENTITY mainpingpong IS
PORT (start1, start2, button1, button2, clock: IN STD_LOGIC;
 led1,led2,led3,led4,led5,led6,led7,led8,A1,A2,A3,A4,A5,A6,A7,B1,B2,B3,B4,B5,B6,B7: OUT STD_LOGIC);
END mainpingpong;


ARCHITECTURE structural OF mainpingpong IS
component pengontrol is
PORT (start1, start2, button1, button2, clock: IN STD_LOGIC;
 led1,led2,led3,led4,led5,led6,led7,led8,count1,count2: OUT STD_LOGIC);
end component;


component bcd IS
port(D3,D2,D1,D0 : IN STD_LOGIC;
A,B,C,D,E,F,G : OUT STD_LOGIC);
end component;


component bcd_cnt IS
PORT(CLK, CE, CLR1, CLR2: IN STD_LOGIC;
Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
TC: OUT STD_LOGIC);
END component;


component CLOCKDIV is port(
CLK: IN std_logic;
DIVOUT: buffer std_logic);
end component;


SIGNAL simpenclk, count1,count2, A, B : STD_LOGIC;
SIGNAL Q1,Q2 : STD_LOGIC_VECTOR (3 DOWNTO 0);
BEGIN
Time : clockdiv PORT MAP (clock,simpenclk);
kontrol : pengontrol PORT MAP (start1,start2,button1,button2,simpenclk, led1, led2,led3,led4,led5,led6,led7,led8,count1, count2);
counter1 : bcd_cnt PORT MAP (count1, '1' , start1 , start2,  Q1, A);
counter2 : bcd_cnt PORT MAP (count2, '1' , start1 , start2,  Q2, B);
Segment1 : bcd PORT MAP (Q1(3),Q1(2),Q1(1),Q1(0),A1,A2,A3,A4,A5,A6,A7);
Segment2 : bcd PORT MAP (Q2(3),Q2(2),Q2(1),Q2(0),B1,B2,B3,B4,B5,B6,B7);
END structural;


Jadi, untuk membuat projek LED Pingpong ini sebenarnya gue Cuma membuat dua rangkaian tambahan, sisanya menggunakan rangkaian yang sudah ada :D
Selamat berkarya!!

Jumat, 26 November 2010

Desain Unit Kendali [part1]

Salah satu judul modul dari kelas EL2195 a.k.a praktikum Sistem Digital. Apa itu unit kendali? Sebuah design atau rancangan rangkaian digital yang berfungsi untuk mengendalikan keseluruhan rangkaian lainnya. Rangkaian tersebut biasa disebut sebagai unit kendali atau controller. Praktikum tentang desain unit kendali sendiri merupakan praktikum kelima dari total 6 praktikum. Ini merupakan dasar untuk proyek terakhir pada praktikum 6.

Praktikum terakhir Sistem Digital ini, kami diminta untuk membuat sebuah projek yang bisa kami pilih sendiri. Pilihan dan sedikit spesifikasinya adalah sebagai berikut:

4‐bit serial ALU
Harus terdiri dari dua shift register, satu untuk operand pertama dengan hasilnya dan yang lainnya untuk operand kedua. ALU harus bisa melakukan delapan operasi yang berbeda termasuk penambahan dan pengurangan 2’s complement. Fasilitas Input operand harus disertakan. ALU boleh diberikan clock ataupun dikendalikan secara manual.

4‐bit Multiplier
Harus berbentuk sekuensial menggunakan prinsip shift dan penjumlahan dengan 4‐bit operand dan 8‐bit hasil. Fasilitas input operand harus disertakan. Operasi harus berjalan secara otomatis setelah proses input operand selesai. Boleh menggunakan clock secara manual, tetapi hanya sejumlah yang dibutuhkan untuk proses perkalian saja, jumlah ini tidak boleh secara manual dihitung. Ketika proses perkalian selesai, hasilnya harus tetap terpampang bagaimanapun ada clock yang diaplikasikan. Hasil hanya akan terhapus ketika operand baru dimasukkan atau proses perkalian baru dimulai.

4‐bit Divider
Harus menggunakan prinsip shift dan penjumlahan dengan 4‐bit pembagi dan 8‐bit hasil pembagian. Fasilitas input operand harus disertakan. Pemberian clock dan penghitungan jumlah langkah pembagian boleh dilakukan secara manual, tetapi control seperti kapan harus mengurangi pembagi harus otomatis.

Variable‐Speed Chaser LED
Serangkaian LED harus menyala secara bergantian dari kiri ke kanan atau kanan ke kiri dengan kecepatan seolah‐olah LED itu bergerak. Empat kecepatan yang berbeda harus bisa diberikan melalui switch. Arah pergerakan harus bisa diubah menggunakan switch yang lain. Frekuensi clock kedalam rangkaian dibuat konstan.

Asynchronous Combination Lock
Kunci kombinasi ini minimal harus memiliki 4 buah symbol masukan 2‐bit sebagai kombinasi dan terlihat kepada pengguna sebagai rangkaian asinkron. Sebenarnya itu merupakan rangkaian sinkron dengan clock yang cepat dan sinkronisasi dengan masukan pengguna. Untuk kombinasi input yang diberikan, rangkaian akan bergerak ke suatu state dan berputar disana hingga masukan berubah ke symbol yang baru. Artinya kombinasi masukan tidak boleh terdiri dari symbol yang sama dimasukkan secara berurutan. Kunci akan tertutup dengan menggunakan RESET asinkron.

Thunderbird TailLights
Gunakan empat buah LED untuk setiap lampu belakang. Dua LED pada setiap sisi harus menyala ketika penggunaan malam(1 switch ditekan), Keempat LED pada setiap sisi harus menyala ketika rem diinjak(1 Push Button ditekan) dan Keempat LED harus menyala secara bergantian kearah luar pada sisi yang bersesuaian untuk sinyal belok kiri dan kanan(2 Switch). Jika rem aktif bersamaan dengan sinyal belok aktif, kedua pola akan muncul secara bergantian. Pada keadaan darurat(1 switch), kedelapan LED akan berkedip‐kedip dengan frekuensi yang dapat dilihat.

LED Ping‐Pong
Bola pingpong akan dimodelkan oleh sebuah LED yang menyala dimana dia akan bergerak dari ujung ke ujung. Salah satu ujung satu push button harus ditekan untuk memukul bola sehingga bola pingpong akan bergerak ke ujung yang lainnya. Proyek ini memiliki tingkat kesulitan cukup tinggi sehingga akan mendapat nilai maksimal lebih tinggi.

Awalnya, gue mau buat Thunderbird Tailights. Kenapa? cuz it seems so cool. Itu kan bikin lampu sen mobil. Tapi akhirnya gue memilih untuk buat LED Ping-Pong. Alasan gue milih pingpong karena ada yang ngajarin buatnya gimana. haha :D

Gue praktikum VI hari Rabu kemarin, tanggal 24 November. Hari Minggu gue udah mulai mau ngerjain. Coach gue adalah Samuel Cahyawijaya -kita sebut SamCa-. Nah, siangnya gue diliatin ASM punya dia. Mudeng sih maksudnya gimana, tapi tetep ga ngerti cara buatnya *begonya gue*. Oh iya, buat yang ga tau ASM itu apa. ASM adalah Algorithmic State Machine. Bentuknya kayak diagram alir gitu. Nih, gue kasih contohnya.

Gambar ini gue ambil dari modul praktikumnya, yang buat bikin unit kendali di praktikum V. Pokoknya yang mau lebih tau tentang ASM atau FSM itu apa, Google punya jawabannya kok.

Lanjut, setelah gue ngeliat ASM yang dibikin Samca dan gue masih tetep ge ngerti apa yang harus gue lakukan. Gue cuma buat ENTITYnya doank. Oh, iya. Gue buat projek ini pake VHDL (VHSIC Hardware Description Language). Intinya, gue harus ngoding juga!

Kerjaan gue di hari minggu cuma buat si entity itu doank. Padahal Aul sama Hasby yang waktu itu diajarin SamCa juga udah sampe isi Architecturenya. Daripada gue menghambat mereka berdua mending, gue memilih untuk membuka akun jejaring sosial. Saat itu, gue ngerjainnya di dingdong yang memang ada fasilitas wi-fi.What I've got on Sunday is a NIL! :D :D :D

Besoknya, beres praktikum Alstrukdat yang jujur gue udah ga peduli sama praktikum yang satu ini, gue ngerjain projek SisDig lagi di dingdong. Gue udah mulai paham apa yang harus gue lakukan. Tapi gue masih bingung sama sebuah variabel yang dikasih nama X ini harus diapain. Setelah dijelasin lagi sama SamCa yang super sabar. Gue pun kembali ngoding. Sempet pindah tempat ke ruang baca dan Cafe di CC Timur. Akhirnya controllernya beres juga. Dan inilah hasil codingan yang gue buat tapi yang ngedebug SamCa XD


LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;

ENTITY pengontrol IS
PORT (start1, start2, button1, button2, clock: IN STD_LOGIC;
     led1,led2,led3,led4,led5,led6,led7,led8,count1,count2: OUT STD_LOGIC);
END pengontrol;

ARCHITECTURE behavioral OF pengontrol IS
    TYPE tipestate IS (scount1,scount2,wait1,wait2,L1,L2,L3,L4,L5,L6,L7,L8);
    SIGNAL state : tipestate;
    SIGNAL x: STD_LOGIC; --kl ke kanan dikasih 0 kl ke kiri dikasih 1
BEGIN
    nextstate : process(start1,start2,button1,button2,clock)
    BEGIN
    IF start1='0' THEN
        state <= wait1;
        x <= '0';
    ELSIF start2='0' THEN
        state <= wait2;
        x <= '1';
    ELSIF clock'event and clock='1' THEN
        CASE state IS
            when wait1 => x<='0';
                          if button1 = '0' then state <= L2;
                             else state <= wait1;
                          end if;
            when wait2 => x<='1';
                          if button2 = '0' then state <= L7;
                          else state <= wait2;
                          end if;
            when L1       => if button1 = '0' then state <= L2; x<='0';
                          else state <= scount2;
                          end if;
            when L2    => if x='1' then state <= L1;
                          else state <= L3;
                          end if;  
            when L3    => if x='1' then state <= L2;
                          else state <= L4;
                          end if;
            when L4    => if x='1' then state <= L3;
                          else state <= L5;
                          end if;
            when L5    => if x='1' then state <= L4;
                          else state <= L6;
                          end if;
            when L6    => if x='1' then state <= L5;
                          else state <= L7;
                          end if;
            when L7    => if x='1' then state <= L6;
                          else state <= L8;
                          end if;
            when L8    => if button2 = '0' then state <= L7; x<='1';
                          else state <= scount1;
                          end if;
            when scount1 => state <= wait2;
            when scount2 => state <= wait1;
        END CASE;
      END IF;
  end process;

  output : PROCESS (state)
    BEGIN
        CASE state  IS
        WHEN scount1 =>
            led1<='0';
            led2<='0';
            led3<='0';
            led4<='0';
            led5<='0';
            led6<='0';
            led7<='0';
            led8<='0';
            count1<='1';
            count2<='0';
        WHEN scount2 =>
            led1<='0';
            led2<='0';
            led3<='0';
            led4<='0';
            led5<='0';
            led6<='0';
            led7<='0';
            led8<='0';
            count1<='0';
            count2<='1';
        WHEN wait1 =>
            led1<='1';
            led2<='0';
            led3<='0';
            led4<='0';
            led5<='0';
            led6<='0';
            led7<='0';
            led8<='0';
            count1<='0';
            count2<='0';
        WHEN wait2 =>
            led1<='0';
            led2<='0';
            led3<='0';
            led4<='0';
            led5<='0';
            led6<='0';
            led7<='0';
            led8<='1';
            count1<='0';
            count2<='0';
        WHEN L1 =>
            led1<='1';
            led2<='0';
            led3<='0';
            led4<='0';
            led5<='0';
            led6<='0';
            led7<='0';
            led8<='0';
            count1<='0';
            count2<='0';
        WHEN L2 =>
            led1<='0';
            led2<='1';
            led3<='0';
            led4<='0';
            led5<='0';
            led6<='0';
            led7<='0';
            led8<='0';
            count1<='0';
            count2<='0';
        WHEN L3 =>
            led1<='0';
            led2<='0';
            led3<='1';
            led4<='0';
            led5<='0';
            led6<='0';
            led7<='0';
            led8<='0';
            count1<='0';
            count2<='0';
        WHEN L4 =>
            led1<='0';
            led2<='0';
            led3<='0';
            led4<='1';
            led5<='0';
            led6<='0';
            led7<='0';
            led8<='0';
            count1<='0';
            count2<='0';
        WHEN L5 =>
            led1<='0';
            led2<='0';
            led3<='0';
            led4<='0';
            led5<='1';
            led6<='0';
            led7<='0';
            led8<='0';
            count1<='0';
            count2<='0';
        WHEN L6 =>
            led1<='0';
            led2<='0';
            led3<='0';
            led4<='0';
            led5<='0';
            led6<='1';
            led7<='0';
            led8<='0';
            count1<='0';
            count2<='0';
        WHEN L7 =>
            led1<='0';
            led2<='0';
            led3<='0';
            led4<='0';
            led5<='0';
            led6<='0';
            led7<='1';
            led8<='0';
            count1<='0';
            count2<='0';
        WHEN L8 =>
            led1<='0';
            led2<='0';
            led3<='0';
            led4<='0';
            led5<='0';
            led6<='0';
            led7<='0';
            led8<='1';
            count1<='0';
            count2<='0';
        END CASE;
    END PROCESS;
END behavioral;