Mahdi Ridho
Mahdi
*****.*****@*****.***
Website
http://ebimbel.com/
Phone / Whatsapp
Blackberry
7F8D52EB
Work Experiences
IT Business Dev IT Project Manager
Tag : MIS, PHP, HTML, CSS, MySQL, Tag : PHP, HTML, CSS, MySQL, LAN,
PostgreSQL, MS SQL Server, MS Subnet Mask, Wifi, Gammu, SMS
Access DB, DDL, DML, Trigger, Store Gateway, Spreadsheet, PDF
Procedure, Linux, Spreadsheet, Visual
Basic 6, IP Tables, Intranet, Subnet
Mask, PDF, Remote Server
Freelance Web Developer
Tag : PHP, HTML5, CSS, Bootstrap, Wordpress, Ajax, Jquery, MySQL, API, PSD,
Web Scraping, Online Shop, Payment Gateway, CVS, Spreadsheet, PDF, Store
Procedure, Trigger, Barcode, SMS Gateway
MIS Report
Adira Finance is one of the biggest Finance Company in Indonesia. There was a database
called ICBS System based on MS SQL Server. Everyday, IT Division (ITD) had to import the
many varient data into Spreadsheet files manually and sent them to Marketing Division
(MD). They were used as raw data by MD for analyzed before took decision. The final result
was an Excel file with complex formula, next sent to MD in all of branch via email. As long
as caused crowded network bandwidth (VPN) and chain problems, It was big problem when
got data too late.
ITD Head asked me to resolved the problem and gave full responsibility, It was my chance
in early career. The finally, we decided to built a central application to handle all of process
above. Below, The system comparation Old and New :
MIS Report – Old System Diagram
MS SQL Spreadsheet Excel Files
ICBS Client Scripts Files
Hundreds
Top
Marketing Division
Marketing
Division All of Branch
DB Admin
Memo
IT Division
MIS Report
There was one Linux Server as both New Central Database and Application Layer, Installed PostgreSQL, Apache
Web Server, and PHP. Would be many PL and SQL scripts run, PostgreSQL is supported by PL/PGSQL. I was
not sure It could be done by MySQL with limited Trigger. When was described below :
First stage imported all of ICBS row data from start to present into PostgreSQL Server;
●
Everyday at 10 AM, Back-End Web App would update the new row data from ICBS Server to PostgreSQL,
●
scheduled by Crontab System;
Web App generated Spreadsheet Files from data query result and save them in the server folder;
●
Top MD could download all of Spreadsheet via Front-end Web App directly;
●
Top MD could upload all of Excel Files & Memo to server folder via Front-end Web App directly;
●
All of branch MD could download the Excel Files & Memo via Front-end Web App directly;
●
There was User Matrix Management and IP Matrix Management for each level users authentication.
●
MIS Report – New System Diagram
*) 1st stage, Imported all of row data
MS SQL PostgreSQL
ICBS Required Tables
Client Scripts Client Scripts
Master (PostgreSQL Server)
PostgreSQL
Client Scripts
Excel Files
& Memo
Top
Front-End
ICBS Updated Tables Marketing
Back-End
Master (PostgreSQL Server) Division
Web App
Hundreds
Marketing Division
All of Branch
Spreadsheet
Files
Digital Lottery Numbers
Public Relation Division sent request form to built the new
one app tool said Digital Lottery Numbers. It was simple,
showed the spin 7 sequence of numbers randomly, when
user pressed “Enter” It would be stop the spin. It was mean
the person with that numbers was lucky.
I created the application by Visual Basic 6 in 1 hour. They
were very happy with the support, because in previous years
they used conventional way. I loved it, simple but full respect.
MS Access UI
Public Relation Division sent the second request form for the
new one application that could do the following task :
Compared data from 2 text files;
●
Remove the one of both same value;
●
Export all of data to MS Access Database;
●
Query data from MS Access DB.
●
I created one folder in Web server, application run based
PHP scripts. Mission clear, their data was more presentable.
Redirect IP
3 months after MIS Report launched, Top MD Division moved to new office where the same building with the
parent Company (Danamon Tbk). We were still at old office. There was network problem restricted where Top MD
Division could not access MIS Report Server. There was restricted IP layer by Cisco firewall on the front of us that
only accept one IP access via Port 443. Network Admin tried reconfigured the firewall role by created Redirect
modul. But It did not help because the role would be redirect all of network layer to destination IP defined. Below
simple diagram of the network layer :
Our Building Danamon Building
Only one IP accepted
Via Port 443
Other
Server
Cisco Cisco
X Router
Other Router
Server
MIS All of Subnet
Server
Redirect IP
I gave the one solution to Head ITD to tried IP Tables in Linux, he agreed. I prepared one Linux server as
Gateway Server and installed IP Tables. With IP Tables we could create many varient redirect role like from the
case one specific subnet (Danamon) redirect to many server IP in our subnet in the behind IP Tables server. IP
Tables read the Client IP then route to spesific server based on the office position level Below the new diagram of
the network layer :
Our Building Danamon Building
Only one IP accepted
Other Via Port 443
Server
Cisco Cisco
IP Tables
Other
Router Router
Server
Server
All of Subnet
MIS
Server
Verified IP
Could access
To Danamon
SMS Quick Count
One year in Adira, I looked for new experience with the one of Contractor Company (Taruna Mulya Adidaya). We
had one of IT Project Development that very made me proud at that time. It was the one biggest project goal we
got. SMS Quick Count for Election we named, had been limelight for citizens town.
There was Apache, PHP, MySQL, and Gammu installed on server layer. Gammu run as SMS Engine in
background layer would be read all of SMS received by Modem to Inbox table automatically. Vice versa, read the
Outbox table forward to Modem to sent. There was 2 trigger created in MySQL :
1. Trigger before inserted one inbox row, would verified the SMS data format. If they were valid would be
inserted to Inbox table then inserted one row outbox table as confirmation message. If they were not valid
would bypass Inbox table then inserted one row outbox table as failed message.
2. Trigger after inserted one inbox row, would parsed the message content to get the poll amount each
candidate then inserted to Candidate Poll table.
Front-end layer shown Real Time Poll Graph and digit score each candidate. PHP scripts did query data of
Candidate Poll table then convert them to Graph by JPGraph Class. Also provided reports both PDF and Excel.
This part what made me proud, the final result had margin of error about 2% from Real Count. Good Job!
What is the benefit
In Adira, A chance to explore my ability with the facility where I didn't get at college. This was my first
time handled one real big server PC. My first time work in real deadline. Got varient case was not you
thought before. Felt the right how do the team works together as real team, not just said “We're the
team” at college while only one or partially did.
My dream is an enterpreneur, I agreed with myself to worked with my Auntie. She successfully run her
business as Contractor, I thought It was my chance to learn with her. As expected, It would too hard run
well for the newbie. I learned how to presentations to client, how to negosiations, how to get the
relationship, how to get the sources, how to place the rivals, how to fight your dream, and it is the
important how to still patient as enterpreneur in every condition.
At least, maybe I will not get many problems if I take safe choice;
But “maybe” It's mean 50:50, so I decide to take other choice.
Education
Bachelor Degree of Information Technology with GPA 3.4
Focused Programming & Web Development
Essay “Analyze the distributed programming effect for Information
Systems using python”
Interests
I like travelling and backpacking alone or group. At least, I had visited some places in
●
Java, Sumatra, Bali, and Lombok. Prefer to go the beaches for the first destination. I
joined in Couchsurfer forum and had been host 2 times. I got the surfer from France
and South Korea. One of interesting experiences when you had guests from abroad
with different culture. Next time, I will bring my family to Europe as the first traveling list
abroad.
Each month, I always watch the movie together with my wife. I have most watching
●
movies among other :
The Bucket List, 2 friends of cancer patients run their dream list based on the
record that they wrote on a piece of paper
3 Idiot, what is the meaning of friends and how do we can learn everywhere
everytime, not just at school room
Taare Zameen Par, A dyslexia kid fight to make dreams become real
CBGB, Based on true story of Hilly Kristal's New York club becomes the
birthplace of underground and punk music, and helps launch the careers of
such bands as Blondie, the Ramones and the Police.
References
Untung Budiarjo (Phone +62-838-****-****)
●
Marketing Division Staff when I work together in Adira
Dwi Purwanto (Blackberry 29e86309)
●
IT Support Staff when I work together in Adira
Ms. Hatidjah (Phone +62-878-****-****)
●
Director of PT Taruna Mulya Adidaya, She is my Auntie