Sabtu, 18 November 2017

#Pengantar Bisnis Informatika (Kelompok 1)

PT. PETEAN NASIONAL
      Regulasi dan Prosedur Pendirian Perusahaan
Akta Perusahaan
Nomor TDP                         : 201432100667
Berlaku S/D tanggal            : 30 Desember 2017
Nama Perusahaan                : PT. PETEAN NASIONAL
Satus                                    : Tunggal
Nama Pengurus                   : Daru Iskamil Maula
Alamat                                 : Jl. Akses UI no. 12 Kelapa Dua, Jakarta
NPWP                                  : R2.0000.6516.01.001
No. telp                                : 021 – 12345
Kegiatan Usaha                    : Barang dan Jasa Elektronik

Surat Keterangan Domisili



2.       SDM dan Organisasi
VISI DAN MISI
Prinsip yang selalu dijunjung tinggi PT. PETEAN NASIONAL adalah sebagai berikut :

VISI :
Menjadi perusahaan yang dikagumi dalam bangsa, yang mana memberikan nilai tinggi kepada pemegang saham melalui penyebaran infomasi dan teknologi manajemen terbaik yang ada.

MISI:
Meningkatkan hubungan kepercayaan pelanggan dengan menciptakan dan menambahkan nilai kepada pelanggan melalui penyebaran solusi yang sukses, yang meyesuaikan diri dengan latihan managemen terbaik.
Mengembangkan pengembalian bisnis yang tinggi melalui expansi terus menerus dalam strategi dan investasi keuntungan untuk nilai maksimum perusahaan dan menopang pertumbuhan.

FILSAFAT PERUSAHAAN
PT. PETEAN mewujudkan tiga inspirasi elemen :

I = Corporate Integrity
Latihan etikal bisnis yang menginspirasi kebanggaan dalam masyarakat kita.

Q = Quality of Customer Service
Demi mencapai atau melebihi harapan pelanggan.

Q = Quality of Work Life
Untuk menginspirasikan martabat dan pertumbuhan seseorang.

Struktur organisasi yang ada di PT. PETEAN :
JAJARAN DIREKSI

Presiden Direktur      : Daru Iskamil Maula

Direktur                       : Arfin Syadziy

Direktur                       : Ghendis Sekarhening

Direktur                       : Achmad Zulizar

Presiden Komisaris   : M. Fadlurrahman

Komisaris                    : Jonathan L. Parapak

Komisaris                    : Dr. Isnandar Rachmat Ali, SE, MM

Komisaris                    : Jeffrey K. Wonsono

3.       Aspek Pemasaran
Solusi Infrastruktur

Perangkat network dan kelengkapannya (Cisco)
Server (IBM)
Storage (IBM)
PC, Notebook (Lenovo, Acer, HP, Dell)
Printer dan kelengkapannya (HP, Epson, Canon)
ATM, EDC, Kios Elektronik (IBM, NCR)

Solusi perangkat Lunak

Core Banking, Electronic Channel (Finacle, BankVision)
Enterprise Business Solutions – ERP, CRM, SCM (Oracle, Microsoft)
Systems Availability & Management (Vision, IBM)
Integrated Service Management (systems provisioning, availability & assurance)
Information Management (data mart, MDM, OLAP and datawarehouse consolidation & optimization)
Solusi Analytic & Predictive (Business Intelligent & modeling)
Enterprise Risk Management (AML, fraud management system and IT & network security)
Hospital Information System & solusi operasional lainnya

Segmentasi Produk/Jasa ;
dalam segmentasi ini PT. PETEAN mengarah ke industri elektronik

Strategi Promosi
dalam strategi promosi ang dilakukan oleh PT. PETEAN mengarah ke industri seperti berikut promosi yang dilakukan, penjualan produk, pelayanan data center, instalasi jaringan network.

Media promosi berbasis TI :
Seperti yang kita telah ketahui bahwa perusahaan ini adalah perusahaan yang udah berjalan di bidang ti sejak tahun 2013, memiliki promosi seperti pelayanan data center, jaringan networking dan lain lain

4.       Aspek Keuangan
Kinerja PT. PETEAN NASIONAL pada semester I tahun 2016 ini menunjukkan pencapaian yang positif sejalan dengan meningkatnya permintaan pasar akan solusi teknologi informasi antara lain dari sektor perbankan, telekomunikasi dan ritel. Pendapatan bersih konsolidasi PT. PETEAN per 30 Juni 2016 tercatat Rp 10,1 miliar, naik 67% dari Rp 8,8 miliar pada periode yang sama tahun lalu.

Laba yang diatribusikan pada entitas induk meningkat menjadi Rp 14,3 miliar per 30 Juni 2016 atau meningkat dibandingkan Rp 8 miliar pada 30 Juni 2015. Laba per saham sedikit menurun dari Rp 15/saham menjadi Rp 14/saham untuk periode yang sama, yang disebabkan oleh meningkatnya jumlah lembar saham pada akhir tahun 2015 sebanyak 500 juta lembar saham dalam rangka IPO perseroan.

Dan juga jika dilihat dari pendapatan segitu kemugkinan setiap pegawai yang bekerja gajinya bisa sekitar 3 juta sampai 15 juta tergantung dari tiap-tiap posisi yang ada di perusahaan tersebut.

alamat kantor :

Head office
Jl. Akses UI, Kelapa Dua Depok

T : +(62-21) 12345, ex. 567
F : +(62-21) 12345
E : center@peteannasional.com



Rabu, 25 Oktober 2017

Pengembangan Rencana Bisnis Informatika

Regulasi & Prosedur Pendirian Perusahaan
·         Bentuk-bentuk Usaha
Menurut hukum, berdasarkan modal dan tanggung jawab pemilik usaha, bentuk-bentuk usaha terdiri dari Perusahaan Perseorangan, Persekutuan Perdata, Persekutuan Firma, Persekutuan Komanditer dan Perseroan Terbatas.
·   Perusahaan Perseorangan
Perusahaan Perseorangan adalah bentuk usaha yang paling sederhana. Pemilik Perusahaan Perseorangan hanya satu orang dan pembentukannya tanpa izin serta tata cara yang rumit, misalnya membuka toko kelontong atau kedai makan. Biasanya Perusahaan Perseorangan dibuat oleh pengusaha yang bermodal kecil dengan sumber daya dan kuantitas produksi yang terbatas. Bentuk usaha jenis ini paling mudah didirikan.
·   Persekutuan Perdata
Mencari partner bisnis baru untuk meningkatkan Perusahaan Perseorangan itu menjadi Persekutuan Perdata. Persekutuan Perdata diatur dalam Kitab Undang-Undang Hukum Perdata (KUH Perdata).
·  Persekutuan Firma
Persekutuan dengan Firma merupakan Persekutuan Perdata dalam bentuk yang lebih khusus, yaitu didirikan untuk menjalankan perusahaan, menggunakan nama bersama, dan tanggung jawab para pemilik Firma – yang biasa disebut “sekutu” – bersifattanggung renteng. Karena Firma merupakan suatu perjanjian, maka para pemilik Firma – para sekutu Firma – harus terdiri lebih dari satu orang. Dalam Firma masing-masing sekutu berperan secara aktif menjalankan perusahaan, dan dalam rangka menjalankan perusahaan tersebut mereka bertanggung jawab secara tanggung rentang, yaitu hutang yang dibuat oleh salah satu sekutu akan mengikat sekutu yang lain dan demikian sebaliknya – pelunasan hutang Firma yang dilakukan oleh salah satu sekutu membebaskan hutang yang dibuat oleh sekutu yang lain.
·  Persekutuan Komanditer (Commanditaire Vennotschaap/CV)
Pada prinsipnya Persekutuan Komanditer adalah Persekutuan Firma – perkembangan lebih lanjut  dari Persekutuan Firma. Jika Firma hanya terdiri dari para sekutu yang secara aktif menjalankan perusahaan, maka dalam Komanditer terdapat sekutu pasif yang hanya memasukan modal.
·  Perseroan Terbatas (PT)
Perseroan Terbatas (PT) adalah badan hukum yang merupakan persekutuan modal, didirikan berdasarkan perjanjian, dan melakukan kegiatan usaha dengan modal dasar yang seluruhnya terbagi dalam saham. Sebagai badan hukum, sebuah PT dianggap layaknya orang-perorangan secara individu yang dapat melakukan perbuatan hukum sendiri, memiliki harta kekayaan sendiri dan dapat menuntut serta dituntut di muka pengadilan. Untuk menjadikannya sebagai badan hukum PT, sebuah perusahaan harus mengikuti tata cara pembuatan, pendaftaran dan pengumuman sebagaimana yang diatur dalam Undang-Undang Nomor Nomor 40 Tahun 2007 Tentang Perseroan Terbatas (UU PT).

Prosedur & legalitas
Untuk contoh usaha dibidang perseroan terbatas atau PT. Berikut merupakan prosedur dan legalitas yang dilakukan untuk membangun sebuah PT.
Terdapat 5 langkah dalam mendirikan Perusahaan (PT):
·  Pertama, membuat akte perusahaan ke notaris.
Karena perusahaan berbadan hukum maka sangat mutlak perlu membuat akte perusahaan Anda ke notaris. Biasanya akte ini berisi informasi tentang nama perusahaan, bergerak di bidang apa, nama para pemilik modal, pengurus perusahaan seperti siapa direktur utama, direktur, dan para komisaris.
·  Kedua, mendapatkan Surat Keterangan Domisili Usaha.
Ini Anda dapatkan dari kantor kelurahan atau kantor kepala desa di mana perusahaan Anda berdomisili. Berdasarkan surat ini, Camat mengeluarkan surat keterangan yang sama. Untuk mendapatkan surat keterangan domisili, Anda memerlukan salinan akte perusahaan Anda. Biasanya Anda dipungut biaya administrasi. Biaya administrasi ini bervariasi dari satu kelurahan kelurahan lain kelurahan.
·  Ketiga, mengurus NPWP perusahaan.
Untuk mendirikan perusahaan, NPWP perusahaan adalah mutlak. Untuk mendapatkan NPWP, Anda memerlukan salinan akte perusahaan dan surat keterangan domisili. Biasanya pembuatan NPWP hanya butuh kira-kira 2 jam. Bila Anda memasukkan berkas di pagi hari ke kantor pajak, Anda sudah mendapatkannya di siang hari. Selain itu, tidak ada biaya administrasi yang perlu Anda bayar.
·  Keempat, mendapatkan Surat Keputusan pendirian perusahaan dari Departemen Hukum dan HAM.
Ini biasanya diurus oleh notaris Anda. Notaris biasanya menyerahkan salinan akte perusahaan, Surat Keterangan Domisili dan NPWP perusahaan Anda untuk mendapatkan SK perusahaan.
·   Kelima, mengurus SIUP (Surat Izin Usaha Perdagangan).

SIUP merupakan bagian dari proses mendirikan perusahaan agar perusahaan bisa beroperasi. Mengurus SIUP relatif sama di berbagai tempat


II.     SDM & Organisasi
  •        Struktur Organisasi
Sumber daya manusia merupakan asset organisasi yang sangat vital, karena itu peran dan fungsinya tidak bisa digantikan oleh sumber daya lainnya. Betapapun modern teknologi yang digunakan, atau seberapa banyak dana yang disiapkan, namun tanpa sumber daya manusia yan professional semuanya menjadi tidak bermakna.

  • Struktur Organisasi Fungsional
Organisasi fungsional adalah bentuk organisasi yang dimana atasan memberikan tugas atau kewenangan/kekuasaan kepada bawahannya sesuai dengan yang diinginkan atasannya. Setiap kepala dari satuan mempunyai kekuasaan untuk memerintah dan mengawasi semua pejabat bawahan sepanjang mengenai bidangnya. banyak perusahaan- perusahaan yang menggunakan organisasi fungsional.


Struktur Organisasi Divsional
Organisasi divisional dapat mengikuti pembagian divisi-divisi atas dasar produk, wilayah (geografis), langganan,dan proses atau peralatan. Struktur organisasi divisional atas dasar produk. Setiap departemen bertanggung jawab atas suatu produk atau sekumpulan produk yang berhubungan (garis produk). Divisionalisasi produk adalah pola logik yang dapat diikuti bila jenis-jenis produk mempunyai teknologi pemrosesan dan metoda-metoda pemasaran yang sangat berbeda satu dengan yang lain dalam organisasi. Dalam gambar terlihat bahwa perusahaan diorganisasikan atas dasar produk pada tingkat manajer umum, dan pada tingkat selanjutnya menggunakan pendekatan fungsional.











Sistem Penggajian
Sistem dirancang untuk menangani sesuatu yang berulangkali atau secara rutin terjadi. Gaji dan upah adalah komponen biaya yang secara rutin terjadi dalam penyelenggaraan perusahaan dan sangat penting, karena berkaitan dengan motivasi karyawan. Setiap sistem pasti terdiri dari struktur dan proses. Struktur sistem merupakan unsur-unsur yang membentuk sistem tersebut dalam mencapai tujuan sistem. Sistem pada dasarnya adalah sekelompok unsur yang erat berhubungan satu dengan yang lainnya, yang berfungsi bersama-sama untuk mencapai tujuan tertentu.
Gaji adalah pembayaran atas penyerahan jasayang dilakukan oleh karyawan yang mempunyai jenjang jabatan manajer.Sistem penggajian yang merupakan sistem pembayaran atas jasa yang diserahkan olehkaryawan yang bekerja sebagai manajer, atau kepada karyawan yang gajinya dibayarkan bulanan, tidak tergantung dari jumlah jam atau hari kerja atau jumlah produk yang dihasilkan

Aspek Pemasaran
Manajemen pemasaran adalah analisis, perencanaan, pelaksanaan, dan pengendalian atas program yang dirancang untuk menciptakan, membangun, dan mempertahankan pertukaran yang menguntungkan dengan pembeli sasaran dengan maksud untuk mencapai sasaran organisasi.
 Spesifikasi Produk/Jasa
PT. Semen Indonesia Tbk. sebagai sebuah perusahaan Indonesia yang menyediakan Semen Semen Berkualitas

PT. Semen Indonesia Tbk. Seiring dengan berkembangnya  tuntutan bisnis , terus berupaya untuk selalu menghasilkan semen berkualitas di bisnisnya melalui produk-produk inovatif yang disesuaikan dengan kebutuhan pelanggan.

Kebijakan manajemen risiko keuangan yang dilakukan, yaitu:
  • Risiko suku bunga
Risiko suku bunga adalah risiko di mana nilai wajar atau arus kas masa depan dari suatu instrumen keuangan akan berfluktuasi karena perubahan suku bunga pasar. Eksposur Grup terhadap risiko perubahan suku bunga pasar terutama terkait dengan utang pinjaman dan utang obligasi dengan suku bunga mengambang.
  • Risiko nilai tukar mata uang asing
Risiko nilai tukar mata uang asing adalah risiko di mana nilai wajar atau arus kas masa depan dari suatu instrumen keuangan akan berfluktuasi karena perubahan nilai tukar mata uang asing. Eksposur Grup terhadap fluktuasi nilai tukar terutama berasal dari pinjaman, piutang, akrual dan utang pengadaan yang didenominasi dalam mata uang U.S. Dollar. Untuk mengelola risiko nilai tukar mata uang asing, Perusahaan melakukan kontrak forward valuta asing dan instrumen lainnya yang diperbolehkan, jika dianggap diperlukan.
  • Risiko harga ekuitas
Investasi jangka panjang Grup terutama terdiri dari investasi minoritas dalam ekuitas perusahaan swasta Indonesia, perusahaan publik Indonesia dan ekuitas perusahaan asing. Sehubungan dengan perusahaan dimana Grup memiliki investasi, kinerja keuangan perusahaan tersebut dapat dipengaruhi oleh kondisi ekonomi di Indonesia.
Grup tidak melakukan lindung nilai terhadap investasi jangka panjang. Kinerja investasi jangka panjang dimonitor secara periodik, bersamaan dengan pengujian relevansi instrumen investasi tersebut terhadap rencana startegis jangka panjang Grup.
  • Risiko kredit
Risiko kredit adalah risiko bahwa Grup akan mengalami kerugian yang timbul dari pelanggan, klien atau pihak lawan yang gagal memenuhi kewajiban kontraktual mereka. Tidak ada risiko kredit yang terpusat secara signifikan. Grup mengelola dan mengendalikan risiko kredit dengan menetapkan batasan jumlah risiko yang dapat diterima untuk pelanggan individu dan memonitor eksposur terkait dengan batasanbatasan tersebut.
  • Risiko likuiditas
Risiko likuiditas didefinisikan sebagai risiko saat entitas akan mengalami kesulitan dalam memenuhi kewajiban terkait liabilitas keuangan yang diselesaikan dengan penyerahan kas atau aset keuangan lainnya.
Kebutuhan likuiditas Grup secara historis timbul dari kebutuhan untuk membiayai investasi dan pengeluaran barang modal terkait dengan perluasan bisnis telekomunikasi. Bisnis telekomunikasi Grup membutuhkan modal yang substansial untuk membangun dan memperluas infrastruktur selular dan jaringan data dan untuk mendanai operasional, khususnya pada tahap pengembangan jaringan.


Senin, 02 Oktober 2017

Pengantar Bisnis Informatika

     

PT. Jasa Raharja adalah salah satu perusahaan milik negara yang bergerak di bidang asuransi kecelakaan, dan operasionalisasi usahanya merupakan implementasi dari Undang-Undang No. 33 (pertanggungan kecelakaan penumpang) dan UU No. 34 tahun 1964 (pertanggungan kecelakaan lalu lintas jalan). Untuk korban kecelakaan yang merupakan penumpang dari kendaraan umum, terjamin atau tidaknya didasarkan pada UU. No 33 tahun 1964. Sedangkan untuk korban kecelakaan lalu lintas jalan yang bukan merupakan penumpang kendaraan umum, terjamin atau tidaknya didasarkan pada UU. No. 34 tahun 1964.
Jasa Raharja memiliki 29 kantor cabang, 62 kantor perwakilan dan 63 Kantor Pelayanan Jasa Raharja (KPJR), dan 1.285 SAMSAT yang tersebar diseluruh Indonesia.


Kegiatan Usaha yaitu Melaksanakan Asuransi Kecelakaan penumpang alat angkutan umum dan asuransi tanggung jawab menurut hukum terhadap pihak ketiga sebagaimana diatur UU No. 33 dan 34 tahun 1964 berikut peraturan pelaksanaannya.

Bidang Usahanya adalah Asuransi Sosial dan 100% dimiliki oleh Negara Republik Indonesia.
Akte Pendirian:
Akta Nomor 49 tanggal 28 Februari 1981 yang dibuat di hadapan Imas Fatimah, Sarjana Hukum, Notaris di Jakarta, yg telah beberapa kali diubah dan ditambah, terakhir dengan Akta Nomor 18 tanggal 2 Oktober 2009 yang dibuat dihadapan Yulius Purnawan, SH. MSi., Notaris Jakarta.


Dasar Hukum:
  1.  - Peraturan Pemerintah Nomor 8 Tahun 1965 tentang Pendirian Perusahaan Negara Asuransi Kerugian Djasa Rahardja 
  2.  - Surat Keputusan Menteri Keuangan Nomor KEP-750/MK/IV/11/1970 tanggal 18 Nopember 1970 tentang Pernyataan mengenai Perusahaan Negara (P.N.) Asuransi Kerugian Djasa Rahardja sebagai Usaha Negara seperti yg dimaksud dalam ayat (2) Pasal Undang-Undang<br>No. 9 Tahun 1969
  3.  - Peraturan Pemerintah Nomor 39 Tahun 1980 tentang Pengalihan Bentuk Perusahaan Umum Asuransi Kerugian Jasa Raharja Menjadi Perusahaan Perseroan (Persero)

Besar omset/thn
PT Jasa Raharja (Persero), laba Rp 2,36 triliun




Semen Indonesia (Persero) Tbk (dahulu bernama Semen Gresik (Persero) Tbk) (SMGR) didirikan 25 Maret 1953 dengan nama “NV Pabrik Semen Gresik” dan mulai beroperasi secara komersial pada tanggal 07 Agustus 1957.
Pemegang saham pengendali Semen Indonesia (Persero) Tbk adalah Pemerintah Republik Indonesia, dengan persentase kepemilikan sebesar 51,01%.
Berdasarkan Anggaran Dasar Perusahaan, ruang lingkup kegiatan SMGR meliputi berbagai kegiatan industri. Jenis semen yang hasilkan oleh SMGR, antara lain: Semen Portland (Tipe I, II, III dan V), Special Blended Cement, Portland Pozzolan Cement, Portland Composite Cement, Super Masonry Cement dan Oil Well Cement Class G HRC
Saat ini, kegiatan utama Perusahaan adalah bergerak di industri semen. Hasil produksi Perusahaan dan anak usaha dipasarkan didalam dan diluar negeri.  Pada tanggal 04 Juli 1991, SMGR memperoleh pernyataan efektif dari Bapepam-LK untuk melakukan Penawaran Umum Perdana Saham SMGR (IPO) kepada masyarakat sebanyak 40.000.000 dengan nilai nominal Rp1.000,- per saham dengan harga penawaran Rp7.000,- per saham. Saham-saham tersebut dicatatkan pada Bursa Efek Indonesia (BEI) pada tanggal 08 Juli 1991.
Besar omset/thn
PT Semen Indonesia Tbk, laba Rp 5,57 triliun




Sejarah PT Angkasa Pura I (Persero) - atau dikenal juga dengan Angkasa Pura Airports - sebagai pelopor pengusahaan kebandarudaraan secara komersial di Indonesia bermula sejak tahun 1962. Ketika itu Presiden RI Soekarno baru kembali dari Amerika Serikat. Beliau menegaskan keinginannya kepada Menteri Perhubungan dan Menteri Pekerjaan Umum agar lapangan terbang di Indonesia dapat setara dengan lapangan terbang di negara maju.
Tanggal 15 November 1962 terbit Peraturan Pemerintah (PP) Nomor 33 Tahun 1962 tentang Pendirian Perusahaan Negara (PN) Angkasa Pura Kemayoran. Tugas pokoknya adalah untuk mengelola dan mengusahakan Pelabuhan Udara Kemayoran di Jakarta yang saat itu merupakan satu-satunya bandar udara internasional yang melayani penerbangan dari dan ke luar negeri selain penerbangan domestik.
Setelah melalui masa transisi selama dua tahun, terhitung sejak 20 Februari 1964 PN Angkasa Pura Kemayoran resmi mengambil alih secara penuh aset dan operasional Pelabuhan Udara Kemayoran Jakarta dari Pemerintah RI. Tanggal 20 Februari 1964 itulah yang kemudian ditetapkan sebagai hari jadi perusahaan.
Pada tanggal 17 Mei 1965, berdasarkan PP Nomor 21 tahun 1965 tentang Perubahan dan Tambahan PP Nomor 33 Tahun 1962, PN Angkasa Pura Kemayoran berubah nama menjadi  PN Angkasa Pura, dengan maksud untuk lebih membuka kemungkinan mengelola bandar udara lain di wilayah Indonesia.
Secara bertahap, Pelabuhan Udara Ngurah Rai - Bali, Halim Perdanakusumah (Jakarta), Polonia (Medan), Juanda (Surabaya), Sepinggan (Balikpapan), dan Sultan Hasanuddin (Ujungpandang) kemudian berada dalam pengelolaan PN Angkasa Pura. Selanjutnya, berdasarkan PP Nomor 37 tahun 1974, status badan hukum perusahaan diubah menjadi Perusahaan Umum (Perum).
Dalam rangka pembagian wilayah pengelolaan bandar udara, berdasarkan PP Nomor 25 Tahun 1987 tanggal 19 Mei 1987, nama Perum Angkasa Pura diubah menjadi Perusahaan Umum Angkasa Pura I. Hal ini sejalan dengan dibentuknya Perum Angkasa Pura II yang secara khusus bertugas untuk mengelola Bandar Udara Soekarno-Hatta dan Bandar Udara Halim Perdanakusuma.
Kemudian, berdasarkan PP Nomor 5 Tahun 1992, bentuk Perum diubah menjadi Perseroan Terbatas (PT) yang sahamnya dimiliki sepenuhnya oleh Negara Republik Indonesia sehingga namanya menjadi PT Angkasa Pura I (Persero). Saat ini, Angkasa Pura Airports mengelola 13 (tiga belas) bandara di kawasan tengah dan timur Indonesia, yaitu: 

1. Bandara I Gusti Ngurah Rai - Denpasar
2. Bandara Juanda - Surabaya
3. Bandara Sultan Hasanuddin - Makassar
4. Bandara Sultan Aji Muhammad Sulaiman Sepinggan - Balikpapan
5. Bandara Frans Kaisiepo - Biak
6. Bandara Sam Ratulangi - Manado
7. Bandara Syamsudin Noor - Banjarmasin
8. Bandara Ahmad Yani - Semarang
9. Bandara Adisutjipto - Yogyakarta
10. Bandara Adi Soemarmo - Surakarta
11. Bandara Internasional Lombok - Lombok Tengah
12. Bandara Pattimura - Ambon
13. Bandara El Tari - Kupang
Besar omset/thn
Pt. Angkasa Pura 1, laba RP 1,1 Triliun

Sabtu, 19 Agustus 2017

Bab 4 PENUTUP (Game Arduino: PONG)

Bab 4


PENUTUP




4.1    Kesimpulan

Berdasarkan pembahasan dan evaluasi dari bab-bab sebelumnya sampai dengan pembuatan game Pong ma-ka dapat diambil kesimpulan seperti berikut ini :

1.   Sistem game Pong dapat diimplementasikan meng-gunakan Arduino Uno, layar OLED, dan dua jo-ystick. Sistem ini adalah permainan saling ber-usaha memasukkan bola ke area lawan menggu-nakan paddle masing-masing player, yang diatur dengan dua joystick.

2.   Sistem game Pong dapat diimplementasikan meng-gunakan arsitektur FreeRTOS dengan lima task, yaitu draw, readJoystick, drawCentralLine, dra-wBall, dan drawPlayer.


3.   Game Pong! ini dapat dimainkan oleh segala usia. Berdasarkan hasil ujicoba dari beberapa user, dapat disimpulkan bahwa game ini mudah digunakan, desaign yang sederhana dan tidak ter-dapat error jika dijalankan.

4.   Game yang dibuat digunakan sebagai sarana ber-main, menghibur dan membantu user sebagai me-dia belajar bagi pemain.




4.2    Saran

Untuk lebih memahami tentang sebuah aplikasi ga-me diperlukan pemahaman program aplikasi serta efek animasi yang baik. Game dalam aplikasi ini diharapkan dapat lebih bervariasi lagi bentuknya agar user semakin termotivasi dan tidak mudah bosan dalam memainkan-nya. Untuk membuat sebuah game yang baik diperluk-an kemampuan berimajinasi dan kreatifitas yang baik, sedikit banyaknya pembuat game harus memahami lo-gika pemograman.

Bab 3 PEMBUATAN GAME (Game Arduino: PONG)

Bab 3


PEMBUATAN GAME




3.1    Komponen-Komponen yang Dibutuhkan

Dalam pembuatan game Pong dengan Arduino, kom-ponen yang pasti dibutuhkan adalah Arduino itu sen-diri. Arduino yang digunakan adalah Arduino UNO karena Arduino ini umum digunakan dan mudah untuk didapat. Selain Arduino terdapat beberapa komponen lain yang dibutuhkan agar game ini menarik perhatian pemain yaitu:

   Arduino TFT

   breadboard

   beberapa kabel jumper

   2 buah potentiometer sebesar 10 kW

  
3.1.1    Arduino TFT

Arduino TFT merupakan layar LCD TFT dengan slot microSD di belakangnya. Layar ini digunakan un-tuk menampilkan antar muka Pong. Pin pada Arduino TFT didesain agar muat dengan soket yang ada pa-da Arduino Esplora dan Arduino Robot, tetapi hal ini tidak menutup kemungkinan untuk digunakan dengan board Arduino lainnya.



 Gambar 3.1: Arduino TFT dan konektornya

Secara default, orientasi layar Arduino TFT adalah horisontal dengan posisi atas layar tepat di bawah tu-lisan SD CARD. Layar ini berukuran 160px x 128px dan dapat menampilkan warna 16-bit. Channel merah dan biru memiliki resolusi 5-bit, channel hijau memiliki resolusi 6-bit. Sehingga terdapat 32 level untuk merah dan biru dan 64 level untuk hijau.


3.1.2    Potentiometer

Potentiometer merupakan alat dengan tiga termi-nal yang digunakan dengan cara memutarnya. Alat ini umum ditemukan pada alat-alat elektronik seperti spe-aker yang digunakan untuk mengatur volume. Potenti-ometer termasuk ke dalam alat pasif, yang artinya alat ini dapat beroperasi tanpa power supply. Nilai pada potentiometer digunakan untuk mengontrol tengangan maupun arus listrik.

Pada game ini, nilai yang dihasilkan oleh potentio-meter akan digunakan untuk menggerakan paddle milik pemain.





Gambar 3.2: Potentiometer


3.2    Proses Pembuatan


Pertama, hubungkan pin power 5V dan pin ground (GND) pada arduino ke breadboard seperti gambar dibawah ini. Agar tidak bingung, gunakan kabel war-na merah untuk power dan kabel warna hitam untuk ground.




 Gambar 3.3: Skema Power dan Ground

Selanjutnya adalah menghubungkan kedua potenti-ometer ke breadboard. Hubungkan pin pertama atau terminal terluar milik potentiometer ke jalur power pa-da breadboard. Lalu hubungkan pin terluar lainnya ke jalur ground pada breadboard. Tersisa pin di tengah yang belum terhubung. Pin ini dihubungkan ke ana-log input pada Arduino. Melalui pin ini, potentiome-ter mengirimkan nilai ke pada Arduino. Potentiometer pertama terhubung dengan pin analog A0 dan potenti-ometer kedua terhubung dengan pin analog A1. Seperti biasa, power dihubungkan dengan kabel berwarna me-rah, ground dengan kabel berwarna hitam dan untuk menghubungkan pin tengah, gunakan kabel berwarna kuning.



 Gambar 3.4: Skema Potentiometer dengan Arduino UNO

Setelah potentiometer terhubung, hubungkan Ardu-ino TFT ke breadboard. Perhatikan baik-baik pin pada Arduino TFT. Header pada sisi layar dengan tab warna biru lah yang terhubung dengan board. Perlu diingat, orientasi layar ini terbalik. Jadi jangan kaget.



Gambar 3.5: Arduino TFT ke Breadboard



Oke, selanjutnya kita perlu menghubungkan Ardu-ino TFT dengan Arduino UNO. Hubungkan pin BL dan +5V ke power. Hubungkan juga pin GND ke gro-und. Pin LCD-CS dihubungkan ke pin 10, pin DC dihubungkan ke pin 9, pin RESET dihubungkan ke pin 8, pin MOSI dihubungkan ke pin 11, dan terakhir pin SCK dihubungkan ke pin 13. Untuk menghubungkan pin-pin tersebut, gunakan kabel jumper. Untuk pin yang terhubung ke pin digital pada arduino, gunakan kabel warna biru. Kalau masih bingung cara menghu-bungkannya, lihat gambar di bawah ini ya.


Gambar 3.6: Arduino TFT ke Arduino UNO





3.3    Kode Program Pong

Komponen yang diperlukan sudah terpasang dengan rapi. Sekarang saatnya untuk membuat program. Se-belum menulis kode, pastikan IDE yang digunakan ada-lah versi terbaru agar library yang digunakan pada ga-me ini dapat diload dengan baik.

Ketikan kode berikut untuk mengimpor library SPI dan TFT.

#i n c l u d e <SPI . h>

#i n c l u d e <TFT. h>

Library SPI digunakan agar microcontroller pada Arduino UNO dapat berkomunikasi dengan komponen yang terhubung dengan pin SPI (Serial Peripheral In-terface). Library TFT digunakan agar kita dapat meng-gambar sesuai ke layar Arduino TFT.

Lalu definisikan tiga buah konstanta untuk masing-masing pin LCD-CS, DC, dan RESTART dengan nilai sesuai dengan pin yang terhubung. Selanjutnya kita butuh instance dari library TFT untuk mengontrol la-yar TFT. Instance tersebut diberi nama TFTscreen. Berikut adalah kodenya.

#d e f i n e
c s
10
#d e f i n e
dc
9
#d e f i n e
r s t
8

TFT TFTscreen = TFT( cs ,  dc ,               r s t ) ;

Selanjutnya kita butuh variabel untuk posisi x,y mi-lik paddle dan bola, arah bola dan posisi terakhir bola dan juga paddle. Seluruh variabel ini memiliki tipe integer.

i n t
paddleX
=
0 ;
i n t
paddleY
=
0 ;
i n t
oldPaddleX ,  oldPaddleY ;
i n t  b a l l D i r e c t i o n X = 1 ;
i n t  b a l l D i r e c t i o n Y = 1 ;
i n t
ballX ,
ballY ,  oldBallX ,  o l d B a l l Y ;

Sekarang, kita inisiasi layar TFT lalu menghapus background layar di dalam function setup(). Berikut adalah kodenya.

v o i d  s e t u p ( )  {

TFTscreen . b e g i n ( ) ;

TFTscreen . background ( 0 , 0 , 0 ) ;

}

Dapat dilihat pada kode di atas, untuk mengha-pus background layar cukup menset background layar menjadi hitam melalui function background(). Argu-men pada function tersebut adalah nilai masing-masing channel RGB.

Selanjutnya, kita perlu menyimpan nilai tinggi dan lebar layar. Kemudian, kita harus membaca nilai dari potentiometer sebelum proses mapping untuk menggu-nakan range nilainya. Berikut adalah kodenya.

v o i d  l o o p ( )  {


i n t
myWidth = TFTscreen . width ( ) ;

i n t
myHeight = TFTscreen . h e i g h t ( ) ;
paddleX = map( analogRead (A0 ) ,
0 ,
1 0 2 3 ,

0 ,  myWidth )2 0 / 2 ;


paddleY = map( analogRead (A1 ) ,
0 ,
1 0 2 3 ,

0 ,  myHeight )5 / 2 ;




Nilai tinggi dan lebar layar didapatkan dari fun-ction width() dan height() yang diakses dari objek TF-Tscreen. Lalu untuk membaca nilai dari potentiome-ter, gunakan function analogRead() dengan argumen pin analog pada Arduino yang terhubung dengan po-tentiometer. Setelah membaca nilai dari potentiome-ter, proses mapping dilakukan menggunakan function map(). Function ini digunakan untuk mengatur suatu nilai dari suatu range ke range lain. Nilai rendah potentiometer pertama yang terhubung ke pin A0 sebesar 0 akan dimap ke nilai terendah yaitu 0 dan nilai ter-tingginya yaitu sebesar 1023 akan dimap ke nilai lebar layar. Hal yang serupa juga dilakukan untuk potentio-meter yang terhubung dengan pin A1, hanya saja nilai tertinggi pada potentiometer ini dimap ke nilai tinggi layar.


Setelah proses mapping, nilai hasil mapping poten-tiometer A0 dikurangi dengan 20/2 dan disimpan ke dalam variabel paddleX. Nilai hasil mapping potentio-meter A1 dikurangi dengan 5/2 dan disimpan ke vari-abel paddleY.


Ok, selanjutnya adalah menghapus lokasi terakhir paddle jika ada pergerakan. Berikut adalah kodenya.

TFTscreen . f i l l ( 0 , 0 , 0 ) ;

i f            ( oldPaddleX != paddleX | | oldPaddleY != paddleY ) { TFTscreen . r e c t ( oldPaddleX , oldPaddleY , 2 0 , 5 ) ;

}

Untuk menghapus lokasi terakhir paddle, cukup mem-buat persegi panjang dengan warna hitam. Pada kode di atas, function fill() digunakan untuk memberi warna pada objek yang akan digambar. Function ini memi-liki argumen yang sama dengan function background. Setelah mengatur warna, program akan mencek apalah nilai oldPaddleX tidak sama dengan nilai paddleX atau nilai oldPaddleY tidak sama dengan nilai paddleY. Jika benar, berarti ada pergerakan paddle. Maka, program akan membuat persegi di koordinat oldPaddleX danoldPaddleY sebesar 20 x 5.

Untuk menggambar paddlenya dengan warna putih, tuliskan kode berikut.

TFTscreen . f i l l ( 2 5 5 , 2 5 5 , 2 5 5 ) ;

TFTscreen . r e c t ( paddleX ,  paddleY ,      2 0 ,   5 ) ;

Lalu kita perlu menyimpan posisi paddle saat ini menjadi posisi sebelumnya. Hal ini dilakukan agar kita dapat melakukan pengecekan apakah paddle bergerak atau tidak. Masih ingat kode untuk mengecek perge-rakan paddle? Ya, paddle dianggap bergerak jika posisi terakhir paddle tidak sama dengan posisi paddle seka-rang. Berikut adalah kodenya.

oldPaddleX = paddleX ;

oldPaddleY = paddleY ;

Terakhir, kita akan menggunakan nilai dari varia-bel ballSpeed untuk menentukan seberapa cepat layar melakukan perubahan. Kode di bawah ini ditulis pada akhir function loop().

i f             ( m i l l i s ( ) % b a l l S p e e d < 2 ) { moveBall ( ) ;

}

}

Kode di atas digunakan untuk mencek apakah mi-llisec modulo nilai ballSpeed lebih kecil dari 2. Jika iya, program akan menjalankan function buatan kita yaitu moveBall() untuk menggerakkan bola.

Function moveBall() akan mengubah posisi bola de-ngan cara seperti mengubah posisi paddle, yaitu meng-gambar persegi panjang warna hitam pada posisi sebe-lumnya dan menggambar persegi panjang warna putih pada posisi yang baru. Function ini juga akan memas-tikan bola tidak keluar dari layar jika bola menyentuh sisi layar. Berikut adalah kodenya. Ingat, tulis kode ini di luar function loop() ya.

v o i d
moveBall ( )  {


i f
( b a l l X > TFTscreen . width ( )  | |


b a l l X < 0 )  {


}
b a l l D i r e c t i o n X =  b a l l D i r e c t i o n X ;




i f
( b a l l Y > TFTscreen . h e i g h t ( )
| |


b a l l Y < 0 )  {


}
b a l l D i r e c t i o n Y =  b a l l D i r e c t i o n Y ;




i f
( i n P a d d l e ( ballX ,  ballY ,  paddleX ,


paddleY ,  2 0 ,  5 ) )  {


}
b a l l D i r e c t i o n Y =  b a l l D i r e c t i o n Y ;




b a l l X += b a l l D i r e c t i o n X ;


b a l l Y += b a l l D i r e c t i o n Y ;


TFTscreen . f i l l ( 0 , 0 , 0 ) ;


i f  ( o l d B a l l X  !=  b a l l X  | |



o l d B a l l Y  !=  b a l l Y )  {



TFTscreen . r e c t ( oldBallX ,
oldBallY ,


5 ,  5 ) ;




}

TFTscreen . f i l l ( 2 5 5 , 2 5 5 , 2 5 5 ) ;

TFTscreen . r e c t ( ballX ,  ballY ,  5 ,
5 ) ;
o l d B a l l X = b a l l X ;       o l d B a l l Y = b a l l Y ;

}

Pada function tersebut, if pertama dan kedua digu-nakan agar bola tidak keluar dari sisi layar lalu arah bola dibuat negatif untuk menandakan bola bergerak ke arah datang. Pada if ketiga, terdapat function ba-ru yaitu inPaddle(). Function ini kita gunakan untuk mencek apakah bola menyentuh paddle. Jika menyen-tuh paddle, arah bola terhadap sumbu Y diubah men-jadi berlawanan.


Setelah melakukan pengecekan, masing-masing va-riabel yang menyimpan koordinat X dan Y milik bo-la ditambah dengan nilai dari variabel ballDirection masing-masing sumbu. Lalu, kita hapus bola pada po-sisi sebelumnya dengan cara yang sama seperti meng-hapus paddle. Setelah kita hapus bola tersebut, ktia gambar bola dengan warna putih pada posisi yang ba-ru. Terakhir, jangan lupa untuk menyimpan koordinat posisi bola saat ini ke variabel oldBall masing-masing sumbu. Variabel ini digunakan untuk mencek ada atau tidak pergerakan bola.


Kode terakhir adalah function inPaddle(). Fun-ction ini memiliki 6 buah argumen. Berikut adalah kodenya.


b o o l e a n  i n P a d d l e ( i n t  x ,



i n t



y ,


i n t  rectX ,      i n t  rectY ,

i n t  rectWidth ,       i n t    r e c t H e i g h t )  {

b o o l e a n        r e s u l t = f a l s e ;

i f   ( ( x >= rectX && x <=

(  rectX + rectWidth ) ) && ( y >= rectY && y <=

( rectY + r e c t H e i g h t ) ) )  {

r e s u l t = t r u e ;

}

r e t u r n              r e s u l t ;

}


Function inPaddle() akan mencek posisi bola dan paddle. Jika posisi mereka sama, maka function akan memberikan nilai true dan mengubah arah bola pada function moveBall().


Itu adalah keseluruhan kode untuk membuat game Pong sederhana. Di bawah ini adalah bentuk utuh dari programnya.


/
TFT Pong




This  example
f o r
t h e
Arduino
s c r e e n
t h e  v a l u e s
o f  2
p o t e n t i o m e t e r s  t o
r e c t a n g u l a r
p l a t f o r m
on  t h e
x and
The  p l a t f o r m
can
i n t e r s e c t
with  a
b a l l  c a u s i n g
i t
t o  bounce .

r e a d s move a y a x e s .


This  example  code       i s   i n  t h e   p u b l i c  domain .


Created  by Tom I g o e  December  2012

M o d i f i e d  15  A p r i l  2013  by  S c o t t     F i t z g e r a l d


h t t p : / /www. a r d u i n o . c c / en / T u t o r i a l /TFTPong

/


#i n c l u d e
<SPI . h>
#i n c l u d e
<TFT. h>
#d e f i n e
c s
10
#d e f i n e
dc
9
#d e f i n e
r s t
8

TFT
TFTscreen = TFT( cs ,  dc ,
r s t ) ;
i n t
paddleX
=
0 ;

i n t
paddleY
=
0 ;

i n t
oldPaddleX ,  oldPaddleY ;

i n t  b a l l D i r e c t i o n X = 1 ;

i n t  b a l l D i r e c t i o n Y = 1 ;

i n t
ballX ,
ballY ,  oldBallX ,
o l d B a l l Y ;

v o i d  s e t u p ( )  {

TFTscreen . b e g i n ( ) ;

TFTscreen . background ( 0 , 0 , 0 ) ;

}

v o i d  l o o p ( )  {
i n t
myWidth = TFTscreen . width ( ) ;

i n t
myHeight = TFTscreen . h e i g h t ( ) ;
paddleX = map( analogRead (A0 ) ,
0 ,
1 0 2 3 ,

0 ,  myWidth )2 0 / 2 ;


paddleY = map( analogRead (A1 ) ,
0 ,
1 0 2 3 ,

0 ,  myHeight )5 / 2 ;



TFTscreen . f i l l ( 0 , 0 , 0 ) ;

i f            ( oldPaddleX != paddleX | | oldPaddleY != paddleY ) { TFTscreen . r e c t ( oldPaddleX , oldPaddleY , 2 0 , 5 ) ;

}

TFTscreen . f i l l ( 2 5 5 , 2 5 5 , 2 5 5 ) ;

TFTscreen . r e c t ( paddleX ,  paddleY ,      2 0 ,   5 ) ;

oldPaddleX = paddleX ;

oldPaddleY = paddleY ;

i f             ( m i l l i s ( ) % b a l l S p e e d < 2 ) { moveBall ( ) ;

}

}



v o i d
moveBall ( )  {


i f
( b a l l X > TFTscreen . width ( )
| |


b a l l X < 0 )  {


}
b a l l D i r e c t i o n X =  b a l l D i r e c t i o n X ;




i f
( b a l l Y > TFTscreen . h e i g h t ( )
| |




b a l l Y < 0 )  {



}
b a l l D i r e c t i o n Y =  b a l l D i r e c t i o n Y ;






i f  ( i n P a d d l e ( ballX ,
ballY ,  paddleX ,


paddleY ,  2 0 ,
5 ) )  {


}
b a l l D i r e c t i o n Y =  b a l l D i r e c t i o n Y ;






b a l l X += b a l l D i r e c t i o n X ;


b a l l Y += b a l l D i r e c t i o n Y ;


TFTscreen . f i l l ( 0 , 0 , 0 ) ;


i f  ( o l d B a l l X  !=  b a l l X  | |



o l d B a l l Y  !=  b a l l Y )  {



TFTscreen . r e c t ( oldBallX ,
oldBallY ,

}

5 ,  5 ) ;







TFTscreen . f i l l ( 2 5 5 , 2 5 5 , 2 5 5 ) ;


TFTscreen . r e c t ( ballX ,  ballY ,  5 ,
5 ) ;

o l d B a l l X = b a l l X ;
o l d B a l l Y = b a l l Y ;

}





b o o l e a n  i n P a d d l e ( i n t  x ,  i n t  y ,


i n t
rectX ,  i n t
rectY ,


i n t
rectWidth ,
i n t
r e c t H e i g h t )
{


b o o l e a n r e s u l t = f a l s e ; i f ( ( x >= rectX && x <=

(  rectX + rectWidth ) ) && ( y >= rectY && y <=


( rectY + r e c t H e i g h t ) ) )  {

r e s u l t = t r u e ;

}

r e t u r n              r e s u l t ;

}